数据结构与算法--10.利益最大值
生活随笔
收集整理的這篇文章主要介紹了
数据结构与算法--10.利益最大值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.題目
亞馬遜是一家納斯達克上市的公司,通過其財務報表我們可以解讀它在給定時期內的股票走勢信息。這些信息包括每天交易的最高價,最低價以及開盤價。假定你作為交易員,必須在股票開盤的時候做出買入或者賣出的決定。你負責設計一個算法,根據給定的股票價格走勢信息,決定買入和賣出策略,該策略保證的交易獲得最大的利潤
2.代碼(Python)
S = [2,4,1,7,9,3,5,8] # 買的天數 buyDay = 0 # 賣的天數 salDay = 0 # 收益最大值 Profit = 0 # 買入的最小價格 minPrice = S[0]for N in range(len(S)):# (0——n-1)之間尋找買入的天數if S[N] < minPrice:buyDay = NminPrice = S[N]# 獲取利益最大值的賣出天數if S[N] - minPrice > Profit:Profit = S[N]-minPricesalDay = Nprint("在第{}天買入,在第{}天賣出,能夠獲得最大收益:{}".format(buyDay+1,salDay+1,Profit))3.復雜度
時間復雜度:只需要把數值遍歷一遍,因此時間復雜度為O(n);
空間復雜度:空間上只需要存儲開盤價格數組,不需要額外分配存儲空間,因此空間復雜度都是O(n)。
總結
以上是生活随笔為你收集整理的数据结构与算法--10.利益最大值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Multisim14.0详细安装教程图文
- 下一篇: HttpClient和DefaultHt