面试题63:股票的最大利润

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))

  

猜你喜欢

转载自www.cnblogs.com/ivyharding/p/11216113.html