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

相关推荐
烬羽17 分钟前
React Router 嵌套路由:一个 `Outlet` 引发的布局思考
react.js·面试·前端框架
Loveyourself5 小时前
你知道吗?详细揭秘cc中api层微压缩-microcompact
面试·agent
职场的momo6 小时前
五年后端终面被追问方案,技术输出该如何守边界
职场和发展
神奇小汤圆7 小时前
LLM Agent 底层揭秘:大模型如何通过 JSON-RPC 2.0 协议跨进程调工具?
面试
Hi李耶8 小时前
【LeetCode】541.反转字符串 II
算法·leetcode·职场和发展
飛行艇8 小时前
08 千人千面:Agent用户记忆与上下文管理
面试
小高0079 小时前
🔥🔥🔥TypeScript 7 正式版来了:别只看 10 倍速度,这 4 个迁移坑更值得注意
前端·javascript·面试
众人皆醒我独醉9 小时前
KServe:Kubernetes 原生的模型推理平台——把 vLLM/TGI/Triton 变成 Serverless
人工智能·ci/cd·面试
城管不管13 小时前
RabbitMQ死信队列
java·分布式·ai·面试·职场和发展·rabbitmq·agent
软件测试媛13 小时前
软件测试面试问题汇总
功能测试·面试·职场和发展·压力测试