2019.4 哈喽单车面试题:股票列表数据找出最佳买入和卖出点
思路:记录扫描到index = i 时候的最小值。diff定义的是i点的最大差;也就是在最小值固定的情况下,我们的 i 对应的值越大,差额越大。
def maxbuns(array):
if len(array)<2:
return None
# 在扫描到i时候,需要记录i之前的最小值
minNum = array[0]
maxDiff = 0
for i in range(2,len(array)):
if array[i-1]<minNum:
minNum = array[i-1]
diff = array[i]-minNum
if diff > maxDiff:
maxDiff = diff
# return maxDiff
buy_time = array.index(minNum)
sell_time = array.index(maxDiff+minNum)
return buy_time,sell_time,maxDiff
if __name__ == "__main__":
array = [9,11,8,5,7,12,16,14]
print(maxbuns(array))
原文:https://www.cnblogs.com/ivyharding/p/11216113.html