这题我自己实在没想出来,看到一位大佬的代码,一句话就搞定。
Key:把看似复杂的问题简化真的是太重要了,重点是要发现其中的规律,怎么给它形象化。
道理其实很简单:买涨不买跌,这用到了贪心算法的思想,就是只要有利可图,就立马买,不等时间,时间不等人~~~
Code:
class Solution(object):
def maxProfit(self, prices):
"""
:type prices: List[int]
:rtype: int
"""
return sum(prices[i+1]-prices[i] for i in range(len(prices)-1) if prices[i+1]>prices[i])
写的时候需要注意下sum()那个括号的位置。