面试经典 150 题 ---- 买卖股票的最佳时机 II

面试经典 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)

相关推荐
元亓亓亓3 小时前
LeetCode热题100--101. 对称二叉树--简单
算法·leetcode·职场和发展
小奋斗6 小时前
深入浅出:JavaScript中 三大异步编程方案以及应用
javascript·面试
cxyxiaokui0016 小时前
别让你的Java对象在内存里躺平!序列化带它看世界
后端·面试
猿java7 小时前
精通MySQL却不了解OLAP和 OLTP,正常吗?
java·后端·面试
weixin_456588157 小时前
【java面试day16】mysql-覆盖索引
java·mysql·面试
宫水三叶的刷题日记8 小时前
真的会玩,钉钉前脚辟谣高管凌晨巡查工位,小编随后深夜发文
前端·后端·面试
叽哥9 小时前
Flutter面试:Dart基础2
flutter·面试·dart
测试老哥10 小时前
pytest+requests+allure自动化测试接入Jenkins学习
自动化测试·软件测试·学习·测试工具·职场和发展·jenkins·pytest
胡gh10 小时前
聊一聊构建工具:Vite和Webpack
面试·webpack·vite