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

时间:2019-08-10 18:07:00   收藏:0   阅读:109

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

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!