面试经典 150 题 ---- 买卖股票的最佳时机 II
买卖股票的最佳时机II
方法一:贪心
贪心策略,我们可以考虑局部最优以达到整体最优,仅需要判断相邻两天之间的利润是否大于 0,若大于 0 则可以将答案加入到最终答案中,若小于 0 就遍历到下一天。
java
class Solution {
public int maxProfit(int[] prices) {
int len = prices.length;
int ans = 0;
for (int i = 1; i < len; i ++ ) {
if (prices[i] - prices[i - 1] > 0) {
ans += prices[i] - prices[i - 1];
}
}
return ans;
}
}
时间复杂度: O(n)
仅需遍历一次数组即可
空间复杂度: O(1)