Leetcode刷题笔记1 动态规划part09

Day41 动态规划part08 1.这道题和上一题的最大区别就是dp[i][0] = Math.max(dp[i-1][0], dp[i-1][1] - prices[i]);分析持有股票的情况,如果之前没有持有股票,然后再买入股票,这种情况需要考虑因为之前的买卖操作,此时手头的现金可能就不再是0了,可能会有之前买卖的利润即:dp[i - 1][1],所以dp[i - 1][1] - prices[i]。对dp[i][0]和dp[i][1]的更新就像121题,然后对dp[i][2]和dp[i][3]的更新就是122题。 阅读详情

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

class Solution:
    def maxProfit(self, k: int, prices: List[int]) -> int:
        if not prices:
            return 0
        dp = [[0] * (2 * k + 1) for _ in range(len(prices))]
        for j in range(1, 2 * k , 2):
            dp[0][j] = -prices[0]
        for i in range(1, len(prices)):
            for j in range(0, 2 * k - 1, 2):
                dp[i][j + 1] = max(dp[i - 1][j + 1], dp[i - 1][j] - prices[i])
                dp[i][j + 2] = max(dp[i - 1][j + 2], dp[i - 1][j + 1] + prices[i])
        return dp[-1][2*k] 

 leetcode309 买卖股票的最佳时机涵冷冻期

class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        n = len(prices)
        dp = [[0] * 4 for i in range(n)]
        dp[0][0] = -prices[0]
        for i in range(1, n):
            dp[i][0] = max(dp[i - 1][0], max(dp[i - 1][1], dp[i - 1][3]) - prices[i]) # 持有股票
            dp[i][1] = max(dp[i - 1][1], dp[i - 1][3]) # 不持有股票且处于冷静期
            dp[i][2] = dp[i - 1][0] + prices[i] # 不持有股票即卖出
            dp[i][3] = dp[i - 1][2] # 处于冷静期
        return max(dp[n-1][3], dp[n-1][2], dp[n-1][1])

leetcode 714 买卖股票的最佳时机含手续费

class Solution:
    def maxProfit(self, prices: List[int], fee: int) -> int:
        n = len(prices)
        dp = [[0] * 2 for _ in range(n)]
        dp[0][0] = -prices[0]
        for i in range(1, n):
            dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] - prices[i])
            dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] + prices[i] - fee)
        return max(dp[-1][0], dp[-1][1])

【STM32】IEC60730 Class B软件安全实现 Part2:自检库实战指南 本文是STM32 IEC60730 Class B软件安全实现的实战指南,详细介绍了如何将X-CUBE-CLASSB自检库集成到用户项目中。内容涵盖软件包解构、内存划分、启动与运行时自检的集成步骤、关键代码示例及调试技巧,并阐述了为最终通过安全认证所需的文档与流程准备,帮助开发者高效实现MCU功能安全。 阅读详情

相关推荐

Rockchip MPP解码H264实战:从文件到YUV的完整流程解析

本文详细解析了在Rockchip平台上使用MPP(Media Process Platform)硬件解码H264视频文件并输出YUV数据的完整流程。通过实战代码示例,深入讲解了MPP解码器的初始化、数据包投递、非阻塞模式下的双循环控制以及YUV帧的提取与保存等核心步骤,并提供了环境搭建、编译运行和常见问题排查指南,帮助开发者高效利用硬件加速进行视频处理。

life6的博客 479

Leetcode 刷题笔记1 动态规划part06

由于本题所求为最少零钱数所以递推公式中应该为dp[ j ] = min(dp[ j ], dp[ j - coin] + 1)

pinglejun的博客 718

嵌入式SD/TF卡通用协议-SDIO协议

为了驱动SD卡,首先的第一步就是观察SD卡引脚接线情况,通常我们在画原理图时,都是使用的SD卡卡槽与MCU进行接线。SD卡可以使用SDIO协议和SPI协议进行通信,这里我们主要介绍SDIO协议。下图中的TF卡只是容量小一点的SD卡。以F1C100S为例,接线图如下所示:我们发现上图中的TF卡使用的协议为SDIO协议,主要有4根数据线,1根命令线,1根时钟线组合而成。为了驱动这个SD/TF卡我们就需要去了解SDIO协议的时序。

qq_1033275663的博客 3051

Leetcode 刷题笔记1 动态规划part08

把股票问题理解为不卖和卖的两种情况,就只需要考虑两个变量即可。

pinglejun的博客 270

DDR内存条选购避坑指南:单Rank vs 双Rank性能实测对比(附2024年颗粒推荐)

本文深入解析了内存条中单Rank与双Rank设计的原理与性能差异。通过实战测试对比,揭示了双Rank内存在高负载场景(如3D渲染、视频剪辑)中凭借Rank Interleaving技术带来的显著性能优势,并提供了2024年针对不同用户需求的DDR4/DDR5内存选购策略与避坑指南。

ik678901的博客 1129

OpenBmc开发11:添加传感器(I2C)

1 查看传感器信息 通过qemu以本地端口映射方式运行编译后的镜像,访问bmcweb页面的网址是:https://localhost:2443/,如果想用IP地址启动请参考:openbmc开发4:启动运行编译镜像。(这里以网桥方式启动,以ip地址方式访问BMC) 输入用户名和密码,密码是:0penBmc(第一个是数字)。 选择Health,然后点击Sensor,可以看到传感器信息。 2 查看传感器配置文件 进入meta-live/meta-test/recipes-phosphor/...

master 1万+

leetcode刷题-动态规划part02

=注意:==数组初始化要这么写:dp = [[0] * n for _ in range(m)]10 = 2 × 8 (10的状态依赖2和8的状态)8 = 2 + 6 (8的状态依赖2和6的状态)若使用图论中的深度搜索、广度搜索,提交超时。在不同路径题目中添加了障碍。相当于爬楼梯题目的消费版。example:拆10。

emmmmXxxy的博客 792

Hermes Agent vs OpenClaw:2026 年开源 AI Agent 框架深度对比

两款 2026 年最受关注的开源 AI Agent 框架,一个主打「自进化」,一个聚焦「网关路由」——它们究竟有何不同?本文将从架构原理、核心机制、使用方式到适用场景,为你全面拆解。无论你是 AI 研究者、开发者,还是想用 AI 提升工作效率的个人用户,这篇文章都将帮助你做出最适合的选择

程序猿_三产 3746

Leetcode 刷题笔记1 动态规划part02

关于路径的初始化要考虑清楚。

pinglejun的博客 193

Palantir 产品架构深度解析:从本体到AI的决策智能平台

本文深度解析了Palantir决策智能平台的核心产品架构。其核心在于构建企业级的“本体”(Ontology),即业务世界的“数字孪生”,通过数据、逻辑、操作三层抽象统一语义。平台以此为基础,通过Foundry构建数字孪生,并通过AIP(人工智能平台)实现本体增强生成(OAG),将AI深度融入业务,形成从数据感知、智能分析到行动执行的完整决策闭环。

ooo22的博客 735

LeRobot 入门教程(三)在仿真环境和自定义机器人上部署 LeRobot

本教程详细介绍了基于真实世界机器人和仿真环境的模仿学习实现方法,涵盖数据采集、训练策略和评估全流程。在真实机器人部分,重点讲解了远程操作设置、摄像头配置、数据集记录与管理技巧、策略训练(支持GPU/MPS设备)以及模型评估。仿真环境部分则演示了gym-hil的安装使用、模拟数据采集和策略训练。此外,教程还提供了自定义机器人集成指南,包括电机选择、接口继承、传感器/动作特征定义、连接管理和校准配置等核心步骤。所有方法均支持HuggingFace数据集中心和Weights & Biases工具链,为机器

2506_90492529的博客 2400

Leetcode 刷题笔记1 动态规划part10

递推公式:dp[i] = max(dp[i], dp[j] + 1)

pinglejun的博客 233

R语言生存分析之限制性立方样条分析:样条回归、和多项式回归有什么不同?是否存在非线性关系、限制性立方样条cox回归模型

R语言生存分析之限制性立方样条分析:样条回归、和多项式回归有什么不同?是否存在非线性关系、限制性立方样条cox回归模型

statistics+insight+vista+power 634

Leetcode 刷题笔记1 动态规划part11

动态规划

pinglejun的博客 319

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Leetcode 刷题笔记1 动态规划part13

【代码】Leetcode 刷题笔记1 动态规划part13。

pinglejun的博客 261

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Leetcode 刷题笔记1 动态规划part07

一轮循环,确定递归公式即可ac。

pinglejun的博客 349

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Leetcode 刷题笔记1 动态规划part04

问题转化, 把石头问题转化为背包问题,在target容量范围内所能装的最大石头重量。

pinglejun的博客 269

Leetcode刷题笔记1 动态规划part12

在子序列问题中,遇到不匹配的情况时,哪个子序列长,哪个子序列让步,如果不知道哪个长就直接max(dp[i - 1][j], dp[i][j - 1])

pinglejun的博客 281

Leetcode 刷题笔记1 动态规划part05

开始完全背包不同于01背包,完全背包的特色在于元素可以重复拿取, 因此在递归公式和遍历顺序上都有些许不同。

pinglejun的博客 291

leetcode刷题-动态规划part01

楼梯一共有1阶台阶:1种;三阶台阶:3种(1阶+2阶)递推关系:依赖于前两种状态,f(n)=f(n-1)+f(n-2)斐波那契数: 1 1 2 3 5 8。相当于爬楼梯题目的消费版。其实就是 斐波那契数。

emmmmXxxy的博客 517

Leetcode 刷题笔记1 动态规划part01

难点在于分析dp数组的递推公式。

pinglejun的博客 236

《趣学算法(第2版)》读书笔记 Part 1 :如何高效学习算法

直播流水账不能水,是小白最后的倔强。 这竟然是我在 优快云 写的第一篇博文...(战战兢兢,如履薄冰)

浪里个狼游记 1559

动态规划 | part09

本文分析了股票买卖问题的三种变体解法: 最多K次交易(188题):使用动态规划,定义2K+1种状态(买入/卖出交替),通过状态转移计算最大利润。 含冷冻期(309题):定义4种状态(持有、保持卖出、当日卖出、冷冻期),考虑卖出后一天不能买入的限制。 含手续费(714题):简化版无限交易,仅在卖出时扣除手续费,使用持有/不持有两种状态。 共同特点: 都采用动态规划方法 通过状态转移方程计算最优解 需要考虑交易限制条件(次数、冷冻期、手续费) 这些解法通过合理定义状态和转移条件,有效解决了不同约束下的股票买卖问

2403_88856345的博客 502

算法训练营DAY34 第九章 动态规划part02

保证推导dp[i][j]的时候,dp[i - 1][j] 和 dp[i][j - 1]一定是有数值的。保证推导dp[i][j]的时候,dp[i - 1][j] 和 dp[i][j - 1]一定是有数值的。所以递推公式:dp[i] += dp[j - 1] * dp[i - j];每个点来自他的上方或者左方,所以路径数量等于上方位置的数量加左方位置的数量。每个点来自他的上方或者左方,所以路径数量等于上方位置的数量加左方位置的数量。j-1 为j为头结点左子树节点数量,i-j 为以j为头结点右子树节点数量。

2401_89133587的博客 2700

求职刷题力扣 DAY38动态规划 part04

有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x!= y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块 石头。返回此石头 最小的可能重量。如果没有石头剩下,就返回 0。

qq_44486787的博客 1255

蓝桥杯备考-刷题之路-动态规划算法(DP算法)Part1

蓝桥杯-动态规划应着重弄懂的知识 Part1

m0_37805091的博客 1188
上一篇: Leetcode 刷题笔记1 动态规划part08
下一篇: Leetcode 刷题笔记1 动态规划part10
平乐君
博客等级 码龄5年 65粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值