算法刷题记录 Day42

算法刷题记录 Day42

Date: 2024.04.09

lc 122. 买卖股票的最佳时机II

c++ 复制代码
// dp
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int n = prices.size();
        if(n == 1)  return 0;
        // dp[i]表示第i天的最大利润;
        // dp[i] = dp[i-1] + max(prices[i]-prices[i-1], 0);
        vector<int> dp(n, 0);
        for(int i=1; i<n; i++){
            dp[i] = dp[i-1] + max(prices[i]-prices[i-1], 0);
        }
        return dp[n-1];
    }
};

// 贪心
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int res = 0;
        // 只要比昨天涨了,昨天就买,今天就卖
        for(int i=1; i<prices.size(); i++){
            if(prices[i] > prices[i-1])
                res += (prices[i] - prices[i-1]);
        }
        return res;
    }
};

lc 121. 卖卖股票的最佳时机

c++ 复制代码
// 贪心
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        // 取后项-前项中的最大值。1.暴力ON^2.
        // 2.从左往右遍历。记录当前的最小值和当前值减去最小值的大小;
        // 3. dp[i] 表示在前i天中完成买入和卖出的最大利润;
        // dp[i] = 
        int n = prices.size();
        
        int cur_min = INT_MAX;
        int cur_res = 0;

        for(int i=0; i<n; i++){
            if(i > 0)
                cur_res = max(cur_res, prices[i] - cur_min);
            cur_min = min(prices[i], cur_min);
        }
        return cur_res;

    }
};
相关推荐
.格子衫.11 分钟前
008二分答案+贪心判断——算法备赛
开发语言·c++·算法
Hi__20 分钟前
[蓝桥杯 2023 省 A] 平方差
算法·蓝桥杯
小媛早点睡24 分钟前
贪心算法 day08(加油站+单调递增的数字+坏了的计算机)
算法·贪心算法
weixin_4578858235 分钟前
DeepSeek的神经元革命:穿透搜索引擎算法的下一代内容基建
人工智能·算法·搜索引擎·deepseek·虎跃办公
不吃洋葱.2 小时前
力扣448.找到数组中所有消失的元素
数据结构·算法·leetcode
昂子的博客2 小时前
热门面试题第15天|最大二叉树 合并二叉树 验证二叉搜索树 二叉搜索树中的搜索
java·数据结构·算法
ん贤3 小时前
蓝桥杯考前复盘
c语言·c++·算法·职场和发展·蓝桥杯
想成为配环境大佬3 小时前
P8697 [蓝桥杯 2019 国 C] 最长子序列
算法·蓝桥杯·双指针
麦麦Max3 小时前
STL-函数对象
开发语言·c++·算法
DeepLink4 小时前
🧠 AI论文精读 :《Attention is All You Need》
人工智能·算法