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

相关推荐
zone77392 小时前
003:RAG 入门-LangChain 读取图片数据
后端·python·面试
zone77392 小时前
002:RAG 入门-LangChain 读取文本
后端·算法·面试
青青家的小灰灰2 小时前
从入门到精通:Vue3 ref vs reactive 最佳实践与底层原理
前端·vue.js·面试
over6973 小时前
从 URL 输入到页面展示:一次完整的 Web 导航之旅
前端·面试·架构
飞哥的AI笔记4 小时前
为什么 OpenClaw 在实时推送场景下选择拥抱 WebSocket?
面试
SuperEugene4 小时前
Vue状态管理扫盲篇:状态管理中的常见坑 | 循环依赖、状态污染与调试技巧
前端·vue.js·面试
哈里谢顿6 小时前
0304面试kimi总结归纳版
面试
哈里谢顿6 小时前
0304面试千问总结归纳版
面试
用户114818678948421 小时前
Vite项目中的SVG雪碧图
前端·面试
晴殇i1 天前
CommonJS 与 ES6 模块引入的区别详解
前端·javascript·面试