买卖股票的最佳时机
题目
- 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易
(多次买卖一支股票)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
操作代码(C++)
class Solution
{
public:
int maxProfit(vector<int>& prices)
{
int maxprice=0;
if(prices.size()<2)
{
return 0;
}
int min=prices[0];
for(int i = 1;i< prices.size();i++)
{
if(min>prices[i])
min = prices[i];
else
maxprice=max(maxprice,prices[i]-min);
}
return maxprice;
}
};
解题思路
要找到赚取利益最大不一定是找最小的购买价格,而是要找最大的差价,将各个较小的购买值对应的最大差价进行比较,最终确定最大利益
题目链接:
https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/submissions/