Best Time to Buy and Sell Stock II
来源:互联网 发布:网站特效源码 编辑:程序博客网 时间:2024/05/21 17:46
非常straightforward的方法,只要后项比前向大,就把差值加进maxP。但是逻辑上违背了题目要求的不能在同一天又买又卖,只是数值是对的。
public int maxProfit(int[] prices) { if(prices == null || prices.length == 0) return 0; int i = 0; int maxP = 0; while(i < prices.length - 1) { maxP = Math.max(prices[i+1] - prices[i] + maxP, maxP); i++; } return maxP; }
换一种逻辑上也正确的思路,找到递增的开始和递减的开始,prices[dec] - prices[inc] 就是买卖获利了,把所有这样的区间找出来相加就是max profit.
public static int maxProfit(int[] prices) { if(prices == null || prices.length < 2) return 0; int i = 0; int maxP = 0; while(i < prices.length - 1){ int buy=0; int sell=0; while(i < prices.length-1 && prices[i+1] < prices[i]) i++; buy = i; while(i < prices.length-1 && prices[i+1] >= prices[i]) i++; sell = i; maxP += prices[sell] - prices[buy]; } return maxP; }
0 0
- [LeetCode]Best Time to Buy and Sell Stock II
- LeetCode Best Time to Buy and Sell Stock II
- Leetcode: Best Time to Buy and Sell Stock II
- [Leetcode] Best Time to Buy and Sell Stock II
- Best Time to Buy and Sell Stock II
- LeetCode : Best Time to Buy and Sell Stock II
- LeetCode Best Time to Buy and Sell Stock II
- [LeetCode] Best Time to Buy and Sell Stock II
- leetcode 61: Best Time to Buy and Sell Stock II
- [LeetCode] Best time to buy and sell a stock II
- Best Time to Buy and Sell Stock II
- Best Time to Buy and Sell Stock II
- 【leetcode】Best Time to Buy and Sell Stock II
- LeetCode - Best Time to Buy and Sell Stock II
- Best Time to Buy and Sell Stock II
- Best Time to Buy and Sell Stock II
- LeetCode之Best Time to Buy and Sell Stock II
- [LeetCode]Best Time to Buy and Sell Stock II
- Best Time to Buy and Sell Stock
- ecshop 商品详情页面显示-赠品信息-优惠活动
- mysql学习笔记-服务器端程序
- Android 4.4 的权限问题,导致App 裁剪图片不能保存(已解决)
- install matlab iso on ubuntu
- Best Time to Buy and Sell Stock II
- muduo代码阅读笔记及注释
- ativity 传值
- API
- Sort Colors
- 【BZOJ 1068】 [SCOI2007]压缩
- unity3d 网络通讯 让人可以在范围内行走
- unity3d 摄像机跟随鼠标和键盘的控制
- 怎样才能避免C语言的)目标缓冲区溢出