面试经典 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 Hot 100刷题路线】| 找工作速刷 | 第23题 - [49] - 字母异位词分组
算法·leetcode·职场和发展
kyriewen12 分钟前
手写 Promise:从“我会用”到“我会造”
前端·javascript·面试
二十一_16 分钟前
LangChain 教程 03|快速开始:10 分钟创建第一个 Agent
前端·面试·langchain
我叫黑大帅24 分钟前
php 如何使用mysqli连接mysql
后端·面试·php
我叫黑大帅28 分钟前
PHP mysqli 实用开发指南
后端·面试·php
鹏程十八少1 小时前
6. Android Shadow与众不同?一文解决插件化四大核心难题:ClassLoader冲突、Activity代理、资源隔离、动态更新(源码分析上)
android·前端·面试
tkevinjd1 小时前
Redis主从复制
数据库·redis·后端·缓存·面试
studyForMokey1 小时前
【Android面试】Handler专题
android·java·面试
Irene19911 小时前
2026年 AI面试 经验分享
面试·ai面试