lintcode-买卖股票的最佳时机-149
2015-10-15 21:28
295 查看
假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。
样例
给出一个数组样例 [3,2,3,1,2], 返回 1
可以这道题转换成求数组中两个元素的最大差值(而且是右边的数减去左边的数)
样例
给出一个数组样例 [3,2,3,1,2], 返回 1
可以这道题转换成求数组中两个元素的最大差值(而且是右边的数减去左边的数)
class Solution { public: int maxProfit(vector<int> &prices) { if(prices.empty()) return 0; int Max=0; int Min=prices[0]; for(auto &e:prices){ if(e<Min) //一直记录着遍历过程中元素的最小值 Min=e; else Max=max(Max,e-Min); // 不断地尝试寻找最大差值 } return Max; } };
相关文章推荐
- hdu 1983 Kaitou Kid - The Phantom Thief (2)
- java小数位-DecimalFormat(转)
- 如果业界中不用高级算法和数据结构,那为什么还要学?
- Linux中的Buffer Cache和Page Cache echo 3 > /proc/sys/vm/drop_caches
- 解析文件并写入文件里
- memcache安装
- 关于windows与unix之间文件格式转换问题。UE编辑器中(CR/LF)问题
- vbscript编程练习题目
- 从机房收费系统看文档编写
- [Linux] ubuntu 中的pkg-config
- hdu 1026 Ignatius and the Princess I (bfs打印路径)
- WIN32编程经验总结
- LATEX 幻灯片入门
- 苹果音乐能否撬开中国人的钱包?
- 轻量级桌面应用开发的捷径——nw.js
- iOS 播放视频
- 微信模板开发及开发流程
- 项目文档编写总结
- 数组与指针(二)
- Android Studio 从安装到配置使用