亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

309. Best Time to Buy and Sell Stock with Cooldown -Medium

2019-11-10 17:06:02
字體:
來源:轉載
供稿:網友

Question

Say you have an array for which the ith element is the PRice of a given stock on day i.

Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy one and sell one share of the stock multiple times) with the following restrictions:

You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again). After you sell your stock, you cannot buy stock on next day. (ie, cooldown 1 day)

現在給你一個數組,第i個元素代表第i天的股票價格。設計出一個算法去找到最大的收益。允許多次交易,但是你必須在第二次買股票前賣掉股票,而且當你賣掉股票,第二天你不被允許買股票(冷卻時間)

Example

prices = [1, 2, 3, 0, 2] maxProfit = 3 transactions = [buy, sell, cooldown, buy, sell]

Solution

動態規劃解。思考問題仍然從如何找到第i天和前一天的最大收益的關系出發。我們可以發現每一天都有三種狀態,即買(buy),賣(sell),不買不賣(rest),那么其實我們可以分別記錄第i天buy, sell, rest的最大收益記錄下來,然后根據它們之間的關系更新。這個思路完全沒有問題,但是在實際操作的時候我們會發現,rest其實也要分兩種情況。

第一種是sell后,buy前的rest,因為sell后不能馬上buy,所以如果第i天是rest_before_buy,那么第i - 1天只能是rest_before_buy本身或者sell第二種是buy后,sell前的rest,如果第i天是rest_after_buy,那么第i - 1天只能是rest_after_buy或者buy

所以這兩種rest并不是同一種,因此其實每一天有四種狀態,即rest_before_buy, buy, rest_after_buysell, sell,關系如下圖

關系圖

關系式為:

buy[i] = rest_before_buy[i - 1] - prices[i]

rest_after_buy[i] = max(buy[i - 1], rest_after_buy[i - 1])

sell[i] = max(buy[i - 1] + prices[i], rest_after_buy[i - 1] + prices[i])

rest_before_buy[i] = max(sell[i - 1], rest_before_buy[i - 1])

初始化為:

buy[0] = -prices[0] # 第一天買進花費prices[0]

rest_after_buy[0] = -prices[0] # 因為是不買不賣,所以和buy[0]相同

sell[0] = - (prices[0] + 1) # 第一天不可能賣的,所以設一個非常小的值

rest_before_buy = 0 # 第一天如果不買不賣,花費0

代碼

class Solution(object): def maxProfit(self, prices): """ :type prices: List[int] :rtype: int """ if len(prices) == 0: return 0 sell = [0] * len(prices) buy = [0] * len(prices) rest_before_buy = [0] * len(prices) rest_after_buy = [0] * len(prices) # 初始化 buy[0] = - prices[0] sell[0] = - (prices[0] + 1) rest_after_buy[0] = - prices[0] for index_p in range(1, len(prices)): buy[index_p] = rest_before_buy[index_p - 1] - prices[index_p] rest_after_buy[index_p] = max(buy[index_p - 1], rest_after_buy[index_p - 1]) sell[index_p] = max(rest_after_buy[index_p - 1] + prices[index_p], buy[index_p - 1] + prices[index_p]) rest_before_buy[index_p] = max(sell[index_p - 1], rest_before_buy[index_p - 1]) # 因為最后一天buy或者rest_after_buy(有股票沒賣掉)都不可能利益最大的,所以不需比較 return max(sell[-1], rest_before_buy[-1])
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品入口夜色视频大尺度| 欧美日韩精品中文字幕| 亚洲精品久久久久国产| 亚洲欧美日韩中文在线制服| 精品久久久久久国产91| 日韩久久精品成人| 久久人人爽人人爽人人片av高清| 国产成人高清激情视频在线观看| 日韩一区二区三区xxxx| 国产精品91在线| 久久手机免费视频| 亚洲精品一区二区三区不| 麻豆国产精品va在线观看不卡| 亚洲成人黄色在线观看| 国产精品成人免费视频| 亚洲精品美女在线| 一区二区三欧美| 97在线观看视频国产| 欧美高清视频免费观看| 日日狠狠久久偷偷四色综合免费| 亚洲欧洲国产精品| 91人人爽人人爽人人精88v| 91九色精品视频| 黑人巨大精品欧美一区免费视频| 97在线看免费观看视频在线观看| 日韩电影免费观看在线观看| 欧美精品videosex牲欧美| 日本精品久久电影| 国产精品国模在线| 国产一区av在线| 亚洲有声小说3d| 91九色国产在线| 日韩精品在线免费观看视频| 中文字幕自拍vr一区二区三区| 国产中文日韩欧美| 日本免费在线精品| 琪琪第一精品导航| 九九久久综合网站| 日韩欧美一区二区三区久久| 精品日韩中文字幕| 亚洲日本中文字幕免费在线不卡| 色偷偷av一区二区三区乱| 精品一区二区亚洲| 欧美一级片一区| 亚洲视频在线观看视频| 国产精品久久久久久久久久久新郎| 欧美一级免费看| 中文字幕综合一区| 青青在线视频一区二区三区| 亚洲网址你懂得| 96国产粉嫩美女| 欧美另类极品videosbest最新版本| 久久免费观看视频| 亚洲电影中文字幕| 51精品国产黑色丝袜高跟鞋| 国产精品视频免费在线| 一区二区三区久久精品| 亚洲美女自拍视频| 91久久久在线| 成人激情av在线| 91tv亚洲精品香蕉国产一区7ujn| 5566成人精品视频免费| 欧美日韩国产精品一区二区不卡中文| 国产成人亚洲综合91| 日韩精品在线免费观看视频| 精品女同一区二区三区在线播放| 日韩欧美国产一区二区| 日韩欧美亚洲成人| 欧美性猛交xxxx久久久| 亚洲精品国产综合区久久久久久久| 国产一区欧美二区三区| 久久综合九色九九| 国产精品视频在线观看| 欧美激情国产日韩精品一区18| x99av成人免费| 国产午夜精品免费一区二区三区| 亚洲资源在线看| 久久天天躁狠狠躁夜夜躁2014| 日韩亚洲一区二区| 国产一区视频在线播放| 国产精品美女主播在线观看纯欲| 丝袜一区二区三区| 国产精品午夜视频| 亚洲视频在线观看免费| 韩国视频理论视频久久| 日韩精品黄色网| 久久精品久久久久久| 欧洲午夜精品久久久| 亚洲最大的免费| 欧美劲爆第一页| 日韩av一区二区在线| 日韩精品免费视频| www.欧美精品一二三区| 欧美在线中文字幕| 中文字幕在线观看日韩| 久久亚洲欧美日韩精品专区| 日韩在线观看免费高清完整版| 日韩免费在线看| 国产精品午夜国产小视频| 亚洲精品免费av| 欧美多人乱p欧美4p久久| 91精品国产99| 97国产精品免费视频| 亚洲成人网av| 久久91精品国产91久久跳| 成人午夜激情网| 日韩av电影手机在线观看| 亚洲欧美日韩一区二区在线| 亚洲人成电影在线| 日韩av网站电影| 久久久久久九九九| 国产91色在线| 在线看日韩欧美| 在线精品国产成人综合| 97碰碰碰免费色视频| 国产亚洲精品一区二555| 午夜精品久久久久久久男人的天堂| 欧美一级成年大片在线观看| 久久久国产精品亚洲一区| 中文字幕精品影院| 久久久久久久激情视频| 国产精品999999| 2019日本中文字幕| 亚洲最新视频在线| 国产精品wwwwww| 久久91精品国产91久久跳| 亚洲福利视频专区| 亚洲精品一区二区在线| 欧美性视频网站| 亚洲欧美日韩成人| 欧美大码xxxx| 国产精品成人一区二区三区吃奶| 国产97在线视频| 欧美精品日韩www.p站| 国产成人精品久久二区二区91| 精品国产成人在线| 97人人模人人爽人人喊中文字| 欧美极品在线视频| 日韩欧美在线视频| 91精品久久久久久久久中文字幕| 亚洲欧美自拍一区| 欧美福利视频在线观看| 中文国产亚洲喷潮| 国精产品一区一区三区有限在线| 亚洲黄色成人网| 国产aⅴ夜夜欢一区二区三区| 色先锋久久影院av| 日产日韩在线亚洲欧美| 久久久久久久久久婷婷| 欧美高清在线观看| 成人激情视频免费在线| 亚洲国产天堂久久综合| 成人97在线观看视频| 久久综合伊人77777| 久久亚洲国产精品成人av秋霞| 日韩欧美国产黄色| 国产精品91久久久| 欧美精品videossex性护士| 久久精品91久久久久久再现| 欧美一级片免费在线| 国产精品视频中文字幕91| 超碰91人人草人人干| 亚洲欧美精品suv| 久久免费观看视频|