【算法刷题day49】Leetcode:123.买卖股票的最佳时机III、188. 买卖股票的最佳时机 IV

文章目录

    • [Leetcode 123.买卖股票的最佳时机III](#Leetcode 123.买卖股票的最佳时机III)
    • [Leetcode 188. 买卖股票的最佳时机 IV](#Leetcode 188. 买卖股票的最佳时机 IV)

草稿图网站
java的Deque

Leetcode 123.买卖股票的最佳时机III

题目: 123.买卖股票的最佳时机III
解析: 代码随想录解析

解题思路

定义五维*股票数的数组,分别是啥也不干,买第一只,卖第一只,买第二只,卖第二只。

代码

java 复制代码
class Solution {
    public int maxProfit(int[] prices) {
        int [][]dp = new int[5][prices.length];
        dp[1][0] = -prices[0];
        dp[3][0] = -prices[0];
        for (int i = 1; i < prices.length; i++) {
            dp[1][i] = Math.max(dp[1][i-1], dp[0][i-1] - prices[i]);
            dp[2][i] = Math.max(dp[2][i-1], dp[1][i-1] + prices[i]);
            dp[3][i] = Math.max(dp[3][i-1], dp[2][i-1] - prices[i]);
            dp[4][i] = Math.max(dp[4][i-1], dp[3][i-1] + prices[i]);
        }
        return dp[4][prices.length-1];
    }
}

总结

暂无

Leetcode 188. 买卖股票的最佳时机 IV

题目: 188. 买卖股票的最佳时机 IV
解析: 代码随想录解析

解题思路

上一个题基础上拓展一下

代码

java 复制代码
class Solution {
    public int maxProfit(int k, int[] prices) {
        int [][]dp = new int[2*k+1][prices.length];
        for (int i = 1; i <= 2*k; i+=2) {
            dp[i][0] = -prices[0];
        }
        for (int i = 1; i < prices.length; i++) {
            for (int j = 1; j <= 2*k; j+=2) {
                dp[j][i] = Math.max(dp[j][i-1], dp[j-1][i-1] - prices[i]);
                dp[j+1][i] = Math.max(dp[j+1][i-1], dp[j][i-1] + prices[i]);
            }
        }
        return dp[2*k][prices.length-1];
    }
}

总结

暂无

相关推荐
脑洞代码13 分钟前
20250909的学习笔记
算法
Christo313 分钟前
TFS-2003《A Contribution to Convergence Theory of Fuzzy c-Means and Derivatives》
人工智能·算法·机器学习
黑菜钟22 分钟前
代码随想录第七天|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 18.四数之和
c++·算法·leetcode
Yingjun Mo34 分钟前
1. 统计推断-ALMOND收敛性分析
人工智能·算法·机器学习
海梨花42 分钟前
CSP认证练习题目推荐 (1)
算法·深度优先·csp
天上的光1 小时前
大模型——剪枝、量化、蒸馏、二值化
算法·机器学习·剪枝
pzx_0012 小时前
【LeetCode】14. 最长公共前缀
算法·leetcode·职场和发展
self_myth2 小时前
算法与数据结构实战技巧:从复杂度分析到数学优化
算法
songx_992 小时前
leetcode10(跳跃游戏 II)
数据结构·算法·leetcode
先做个垃圾出来………3 小时前
差分数组(Difference Array)
java·数据结构·算法