题目来源:牛客网
描述
假设你有一个数组,其中第 i 个元素是股票在第 i 天的价格。
你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。
示例1
输入:[1,4,2]
返回值:3
示例2
输入:[2,4,1]
返回值:2
解题思路:
我能想到的办法比较笨,遍历数组内的元素,把每一个数组内的值都当作买入值,然后买入值后每一个元素作为卖出值的差价,将差价存放在另一个数组中,最后用max()
求新数组的最大值.
class Solution:
def maxProfit(self , prices ):
# write code here
flag = 0
tmp = []
while flag < len(prices):
for i in prices[flag:]:
tmp.append(i - prices[flag])
flag = flag + 1
return max(tmp)
有其他思路的可以一起讨论
网友评论