leetCode #122 Best Time to Buy and Sell Stock II
2015-09-01 15:16
218 查看
题目:数组第i个元素表示的是股票在第i天的价格,问最大的收益。要求必须先买后卖,可以进行任意次交易。
分析:只要有收益就进行买卖即可。
比如以下序列
1 2 9 3
我们可以看到,在1时买入,2时卖出,2时买入,9时再卖出,收益为8
而在1时买入,9时卖出,收益也为8
所以只要赚钱,不见得要找绝对差值最大的,因为买卖是无限次数的,只要能赚就买/卖即可。
答案:
分析:只要有收益就进行买卖即可。
比如以下序列
1 2 9 3
我们可以看到,在1时买入,2时卖出,2时买入,9时再卖出,收益为8
而在1时买入,9时卖出,收益也为8
所以只要赚钱,不见得要找绝对差值最大的,因为买卖是无限次数的,只要能赚就买/卖即可。
答案:
class Solution { public: int maxProfit(vector<int>& prices) { int gain = 0; if (prices.size()<1) return gain; for (int i = 0; i< prices.size() - 1; i++){ if (prices[i] < prices[i+1]) gain += prices[i+1] - prices[i]; } return gain; } };
相关文章推荐
- 数据库范式
- [iOS] iOS开发埋坑之路(一)
- 不能被继承的类
- 程序员进阶
- IoTF service(a special MQTT Broker) Connectivity for Applications and Devices
- 天线设计-电感计算以及天线匹配
- 热门应用各种二级菜单的实现
- 串行除法
- 大话设计模式笔记 简单工厂模式
- 学习笔记: JavaScript/JQuery 的cookie操作
- 【IOS开发】实时显示摄像头内容
- StrutsPrepareAndExecuteFilter过滤器和url-pattern设置详解
- myeclipse10的使用须知
- pap Day1
- HTML5 离线缓存-manifest简介
- Android中EditTex的密文和明文切换
- Codeforces 572D,DP
- linux服务器互传文件
- Android微信支付快速集成案例及有效解决返回值-1
- Web开发者不容错过的10个HTML5工具