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

相关推荐
bobz9652 小时前
进程和线程结构体的统一和差异
面试
Java中文社群7 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
沐怡旸8 小时前
【底层机制】std::string 解决的痛点?是什么?怎么实现的?怎么正确用?
c++·面试
bobz9659 小时前
QoS 中的优先级相关的设计
面试
就是帅我不改9 小时前
揭秘Netty高性能HTTP客户端:NIO编程的艺术与实践
后端·面试·github
isysc110 小时前
面了一个校招生,竟然说我是老古董
java·后端·面试
uhakadotcom11 小时前
静态代码检测技术入门:Python 的 Tree-sitter 技术详解与示例教程
后端·面试·github
bobz96512 小时前
进程面向资源分配,线程面向 cpu 调度
面试
绝无仅有12 小时前
数据库MySQL 面试之死锁与排查经验总结
后端·面试·github
Lotzinfly13 小时前
12个TypeScript奇淫技巧你需要掌握😏😏😏
前端·javascript·面试