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

相关推荐
爱coding的橙子31 分钟前
每日算法刷题Day76:10.19:leetcode 二叉树12道题,用时3h
算法·leetcode·职场和发展
roykingw1 小时前
【终极面试集锦】如何设计微服务熔断体系?
java·微服务·面试
Jay丶1 小时前
聊聊入职新公司两个月,试用期没过这件事
前端·面试
程序员饼总2 小时前
面试官问:说说RocketMQ的零拷贝?
面试
爱和冰阔落2 小时前
【C++多态】虚函数/虚表机制与协变 、override和final关键字全解析
开发语言·c++·面试·腾讯云ai代码助手
夏鹏今天学习了吗2 小时前
【LeetCode热题100(47/100)】路径总和 III
算法·leetcode·职场和发展
聪明的笨猪猪2 小时前
Java JVM “内存(1)”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
程序员清风3 小时前
快手二面:乐观锁是怎么用它来处理多线程问题的?
java·后端·面试
小烤箱3 小时前
自动驾驶工程师面试(定位、感知向)
人工智能·面试·自动驾驶
在未来等你4 小时前
Elasticsearch面试精讲 Day 25:Elasticsearch SQL与数据分析
大数据·分布式·elasticsearch·搜索引擎·面试