【动态规划】Leetcode编程题解:121. Best Time to Buy and Sell Stock Add to List
来源:互联网 发布:炎亚纶汪东城天涯 知乎 编辑:程序博客网 时间:2024/06/05 13:07
题目:
Say you have an array for which the ith element is the price of a given stock on dayi.
If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit.
样例:
Example 1:
Input: [7, 1, 5, 3, 6, 4]Output: 5max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price)
Example 2:
Input: [7, 6, 4, 3, 1]Output: 0In this case, no transaction is done, i.e. max profit = 0.
可以通过记录记录当前最小价格并且每次将现阶段价格减去最小价格得到差价,并且保留当前最大差价。
代码:
class Solution {public: int maxProfit(vector<int>& prices) { int minFar = INT_MAX; int maxFar = 0; for(int i = 0; i < prices.size(); i++) { minFar = min(minFar, prices[i]); maxFar = max(maxFar, prices[i] - minFar); } return maxFar; }};
使用Kadane's Algorithm
代码:
class Solution {public: int maxProfit(vector<int>& prices) { int maxPro = 0; int maxFar = 0; for(int i = 1; i < prices.size(); i++) { maxPro = max(0, maxPro += prices[i] - prices[i - 1]); maxFar = max(maxFar, maxPro); } return maxFar; }};
0 0
- 【动态规划】Leetcode编程题解:121. Best Time to Buy and Sell Stock Add to List
- LeetCode题解:121. Best Time to Buy and Sell Stock
- Leetcode题解 121. Best Time to Buy and Sell Stock
- 【LeetCode题解】121. Best Time to Buy and Sell Stock
- LeetCode题解:121. Best Time to Buy and Sell Stock
- 动态规划-121. Best Time to Buy and Sell Stock
- LeetCode 121. Best Time to Buy and Sell Stock & 122. Best Time to Buy and Sell Stock II题解
- 121.LeetCode Best Time to Buy and Sell Stock(easy)[数组 动态规划]
- 【Leetcode】121. Best Time to Buy and Sell Stock 【动态规划】
- ※ Leetcode - Dynamic Programming - 121. Best Time to Buy and Sell Stock(动态规划)
- 动态规划入门级教学(leetcode)121.Best Time to Buy and Sell Stock
- Leetcode(W8):121. Best Time to Buy and Sell Stock(动态规划)
- Leetcode解题笔记121. Best Time to Buy and Sell Stock [Easy] 动态规划
- LeetCode - Best Time to Buy and Sell Stock III 题解
- LeetCode题解-Best Time to Buy and Sell Stock
- LeetCode题解-Best Time to Buy and Sell Stock II
- LeetCode题解-Best Time to Buy and Sell Stock III
- LeetCode题解:Best Time to Buy and Sell Stock
- 单例模式(总结)
- HDU4081 Qin Shi Huang's National Road System
- android百度地图开发——定位sdk
- css:默认的checkbox、input、radio太丑了?手把手教你改变使用纯css3改写的带动画的默认样式
- Winfrom异步更新UI
- 【动态规划】Leetcode编程题解:121. Best Time to Buy and Sell Stock Add to List
- [UE4](译)(Rama)保存系统,二进制压缩文件读写信息
- JAVA学习第2天 面向对象相关概念
- 【XML】——XML文档增删改查
- JVM内存管理垃圾收集器GC
- SparkSQL之JSON
- Mesh中 material 和 sharedMaterial 的区别及内部实现的推断
- STM32 PWM输出函数
- PCA+SVM人脸识别