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