題目
題解
一次遍歷
首先需要考慮prices爲空列表,則返回0
基本思路:從前向後遍歷列表,首先min_price=prices[0],當列表出現更低價格時候替換min_price,最大利潤max_profit初始值爲0,之後取值爲max(max_profit,當前價格-之前最低價格)。最後返回max_profit
class Solution(object):
def maxProfit(self, prices):
"""
:type prices: List[int]
:rtype: int
"""
if prices==[]:
return 0
min_price=prices[0]
max_prifit=0
#遍歷列表
for i in prices:
if min_price>i:
#替換最低價格
min_price=i
else:
max_prifit=max(max_prifit,i-min_price)
return max_prifit