- 122.买股票的最佳时机Ⅱ
- 思路:
一个数组,prices[i]表示该股票第i天的价格;
手里只能拿一只股票,想要再买只能先把手上的卖出去才能买;
不限制进行多少次交易;
- 贪心:O(N); O(1);
一笔第i天买,第j天卖的交易的利润,可以分解为从这段时间内每天都进行一次交易的最终和;
保证每天都赚最多,最终就赚的最多;
class Solution {
public:
int maxProfit(vector<int>& prices) {
int res = 0;
for (int i = 1; i < prices.size(); ++i) {
int dif = prices[i] - prices[i - 1];
if (dif > 0) res += dif; //不论最终的交易如何进行,都可以分解为以天为单位的交易,那我们就只选择涨的区间去交易
}
return res;
}
};
- 动态规划:
待补充