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

相关推荐
奔跑的蜗牛ing4 小时前
CentOS Nginx 安装与静态文件服务器配置指南
前端·面试·架构
KaifuZeng7 小时前
通信与接口协议面试五、RS422
嵌入式硬件·面试·通信与接口
Frostnova丶7 小时前
(12)LeetCode 76. 最小覆盖子串
算法·leetcode·职场和发展
旧曲重听18 小时前
为什么现在 RAG 越少越少提及了
数据库·程序人生·职场和发展·agent
SamDeepThinking8 小时前
组合还是继承?我在项目里主要看这两个判断
java·后端·面试
wear工程师8 小时前
setState 到底是不是异步的?这题从 React 16 问到 18,标准答案早就变了
react.js·面试
凯瑟琳.奥古斯特9 小时前
力扣1013三等分解法与C++实现
开发语言·c++·算法·leetcode·职场和发展
凯瑟琳.奥古斯特10 小时前
力扣1012数位DP解法详解
开发语言·c++·算法·leetcode·职场和发展
SamDeepThinking11 小时前
为什么很多人学了Java,还是没真正理解类和对象?
java·后端·面试
阿新聊ai11 小时前
Claude Code 为什么总不懂你的项目?缺一张「项目地图」
前端·后端·面试