LeetCode 309 Best Time to Buy and Sell Stock with Cooldown
2016-04-14 21:26
537 查看
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)
请参考:Best Time to Buy and Sell
Stock with Cooldown
讲解详细
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)
请参考:Best Time to Buy and Sell
Stock with Cooldown
讲解详细
public int maxProfit4(int[] prices) { if (prices.length <= 1) return 0; int sell =0, buy = -prices[0], presell = 0; for (int i = 1; i < prices.length; i++) { int tmp = sell;//昨天卖的最高收入 sell = Math.max(sell, buy + prices[i]); buy = Math.max(buy, presell - prices[i]);//今天若买入的最高收入 presell = tmp;//前天卖的最高收入 } return sell; }
相关文章推荐
- 总结ios开发中,常用的工具CocoaPods
- 303. Range Sum Query - Immutable
- XML简单介绍
- SOCKET
- 为什么有些行内元素可以设置宽高
- [C语言][LeetCode][2]Add Two Numbers
- nginx-负载均衡简单配置
- Eclipse的rcp插件,在Perspective中添加ViewPart无效
- 20160414交易记录
- git_ABC
- 兴趣问题清单
- codeforces Longest k-Good Segment 616D
- Android 设置wap请求方式
- HDU 1907 ACM博弈论入门:尼姆博奕
- Web语义化的理解
- FusionCharts简单教程(一)---建立第一个FusionCharts图形
- Redis - 持久化
- TPLINK无线路由器怎么设置_怎么查连到当前路由器的设备的MAC地址
- 隔行变色
- 使用 pod install 还是 pod update ?