2023-10-01每日一题
一、题目编号
121. 买卖股票的最佳时机
二、题目链接
点击跳转到题目位置
三、题目描述
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0
示例 1:
示例 2:
提示:
- 1 <= prices.length <= 105
- 0 <= prices[i] <= 104
四、解题代码
class Solution {
public:
int maxProfit(vector<int>& prices) {
int max0 = 0;
int n = prices.size();
for(int i = 1; i < n; ++i){
if(prices[i] > prices[i-1]){
max0 =max(prices[i]-prices[i-1],max0);
prices[i] = prices[i-1];
}
}
return max0;
}
};
五、解题思路
(1) 运用动态规划。