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

相关推荐
沪漂阿龙1 小时前
机器学习面试超详细实战指南(2026版)——不懂高数也能看懂的硬核干货,建议从头看到尾
人工智能·机器学习·面试
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题】【Java基础篇】第34题:String、StringBuffer和StringBuilder的区别是什么
java·后端·面试
折哥的程序人生 · 物流技术专研1 小时前
第3篇:为何要配置环境变量?
java·开发语言·后端·面试
张元清3 小时前
React 中的语音与摄像头输入:语音识别、媒体设备与权限
前端·javascript·面试
Raink老师4 小时前
【AI面试临阵磨枪-39】设计一个办公助手 Agent(日程、文档、邮件、会议)的完整方案
面试·ai 面试题
Moment4 小时前
2026年,为什么NestJS + Monorepo越来越流行了 ❓❓❓
前端·后端·面试
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题】【Java基础篇】第35题:怎样声明一个类不会被继承?什么场景下会用
java·开发语言·后端·面试
xsgbbx4 小时前
装完 ruflo 发现它内置了 98 个 Agent——拆一下它的多智能体编排架构
面试
明天有专业课4 小时前
RAG-查询前处理
面试·aigc
Byron__4 小时前
Java并发核心面试知识点
java·面试·多线程·并发编程