Leetcode 刷题笔记1 动态规划part11

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 1143 最长公共子序列

难点在于保持相对顺序

class Solution:
    def longestCommonSubsequence(self, text1: str, text2: str) -> int:
        dp = [[0] * (len(text2) + 1) for i in range(len(text1) + 1)]
        for i in range(1, len(text1) + 1):
            for j in range(1, len(text2) + 1):
                if text1[i - 1] == text2[j - 1]:
                    dp[i][j] = dp[i - 1][j - 1] + 1
                else:
                    dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
        return dp[-1][-1]

leetcode 1035 不相交的线

同上,求最长公共子序列的变型

class Solution:
    def maxUncrossedLines(self, nums1: List[int], nums2: List[int]) -> int:
        dp = [[0] * (len(nums2) + 1) for _ in range(len(nums1) + 1)]
        for i in range(1, len(nums1) + 1):
            for j in range(1, len(nums2) + 1):
                if nums1[i - 1] == nums2[j - 1]:
                    dp[i][j] = dp[i - 1][j - 1] + 1
                else:
                    dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
        return dp[-1][-1]

leetcode 53 最大子数组和

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        dp = [float('-inf')] * (len(nums) + 1)
        dp[0] = nums[0]
        for i in range(1, len(nums)):
            dp[i] = max(dp[i - 1] + nums[i], nums[i])
        return max(dp) 

leetcode 392 判断子序列

class Solution:
    def isSubsequence(self, s: str, t: str) -> bool:
        dp = [[0] * (len(t) + 1) for _ in range(len(s) + 1)]
        for i in range(1, len(s) + 1):
            for j in range(1, len(t) + 1):
                if s[i - 1] == t[j - 1]:
                    dp[i][j] = dp[i - 1][j - 1] + 1
                else:
                    dp[i][j] = dp[i][j - 1]
        return dp[-1][-1] == len(s)

华为eNSP实战:手把手教你配置DHCP全局地址池(含AP固定IP分配) 本文通过华为eNSP模拟器,详细演示了如何配置DHCP全局地址池,为不同业务VLAN动态分配IP地址,并重点讲解了如何通过MAC地址绑定为接入点(AP)分配固定IP。文章涵盖了从拓扑设计、基础网络搭建到地址池精细配置、验证测试及常见故障排查的全流程,是网络工程师掌握企业级DHCP部署与AP管理的实用指南。 阅读详情

相关推荐

LaTeX伪代码字体大小调整全攻略:从algorithm到algorithm2e的实战技巧

本文详细介绍了在LaTeX中调整伪代码字体大小的全面技巧,涵盖algorithm、algorithmicx和algorithm2e等主流算法包的使用方法。从基础命令到高级配置,帮助用户解决学术论文和技术文档中的伪代码排版问题,提升算法展示的专业性和可读性。特别针对不同期刊格式要求,提供了实用的字体调整方案。

weixin_29297127的博客 437

Leetcode 刷题笔记1 动态规划part06

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

pinglejun的博客 718

(一篇即成功)Ubuntu下搭建qt环境和安装Qt Creator

只需一篇就成功搭建Ubuntu下的QT环境 你还在等什么

m0_73450461的博客 1万+

Leetcode 刷题笔记1 动态规划part08

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

pinglejun的博客 270

GD32单片机开发环境搭建(Keil5安装)

1.安装MDK5 由于GD32 Keil 版本例程的工程是基于Keil MDK-ARM 5.25 uVision5 创建的,所以我在此也安装MDK5.25版本。 下载链接:https://pan.baidu.com/s/1E4tcDQvsVl0xezU3pEyJTA 提取码:s1fr 其他版本下载链接:https://cloud.tencent.com/developer/article/1605195 选择安装路径(不要装到中文路径下,避免不必要的麻烦): 用户信息随便...

fangye945a的博客 3万+

解决mamba_ssm库安装难题:两种高效方法详解

本文详细解析了mamba_ssm库安装失败的常见原因,并提供了两种高效的解决方案。针对其依赖C++/CUDA扩展编译的特性,文章手把手指导用户通过GitHub克隆源码编译安装,或寻找匹配的预编译Wheel文件直接安装,帮助开发者彻底解决环境配置难题,顺利部署Mamba模型。

weixin_29056865的博客 553

Leetcode 刷题笔记1 动态规划part02

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

pinglejun的博客 193

RocketMQ 为什么要自己做一个 NameServer ?RocketMQ 5.x 版本中的 proxy、controller 和 container 分别有什么用 ?

1.独立运行的分散结构 2.简化实现,容忍部分数据不一致 Proxy:多语言支持、简化开发 Controller: 提高 Broker 的性能 Container:提高资源利用率,平衡负载

xaiobit_hl的博客 1489

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

【CANoe】CAPL_ECU上电后首帧报文发出时间检测

【CANoe】CAPL_ECU上电后首帧报文发出时间检测,通过CANoe I/O口检测电压实现

星Yeah 的博客 2508

华为OD机试真题 新系统 - WIFI设备网络规划 (Java/Py/C/C++/Js/Go)

本文整理华为 OD 机试新系统机考真题库,涵盖高频考点精析与完整题目内容,提供 C 语言、Java、C++、Python、Go、JavaScript 多语言源码实现,搭配详细解题思路讲解,并支持在线 OJ 刷题练习,助力高效备考华为 OD 机试新系统。

算法大师! 2016

Leetcode 刷题笔记1 动态规划part13

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

pinglejun的博客 261

Python爬虫实战:抓取统计数据并生成年度对比图表详解

国家统计局网站(静态HTML页面Excel文件JSON接口(部分新版API)我们将重点演示从统计公报页面抓取数据,结合解析Excel文件,实现多种数据格式爬取处理。本文从零开始搭建了一个爬取国家统计数据并制作年度对比图表的完整流程。读者可以根据实际需求调整爬取目标,丰富数据分析维度,甚至结合机器学习模型预测未来趋势。欢迎你在评论区留言分享你的爬虫实践,或提出改进建议!

2201_76125261的博客 1000

Leetcode 刷题笔记1 动态规划part10

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

pinglejun的博客 233

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Leetcode刷题笔记1 动态规划part09

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

pinglejun的博客 240

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Leetcode 刷题笔记1 动态规划part07

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

pinglejun的博客 349

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Leetcode 刷题笔记1 动态规划part04

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

pinglejun的博客 269

Leetcode 刷题笔记1 动态规划part05

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

pinglejun的博客 291

Leetcode刷题笔记1 动态规划part12

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

pinglejun的博客 281

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

算法训练营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

[动态规划]---part2

继续手撕动态规划:不同路径II(medium),礼物的最⼤价值(medium),下降路径最⼩和(medium),最⼩路径和(medium),地下城游戏(hard)

分享技术 3409

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

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

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值