尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

重练算法(代码随想录版) day44 - 动态规划part11

重练算法(代码随想录版) day44 - 动态规划part11
📅 发布时间:2026/6/20 13:06:19

今日刷题量:4
当前刷题总量:163
Easy: 62
Mid: 92
Hard: 9

Day44
解题思想
1143 最长公共子序列 LCS

  • 本质:两个字符串的“最长公共子序列”(不要求连续,可跳过字符)。
  • DP 核心思想:看末尾字符相不相等。
  • dp[i][j]:text1[0..i-1] 与 text2[0..j-1] 的 LCS 长度
  • 转移:
    • 若 a[i-1]==b[j-1]:dp[i][j]=dp[i-1][j-1]+1
    • 否则:dp[i][j]=max(dp[i-1][j], dp[i][j-1])
  • 初始化:dp[0][*]=dp[*][0]=0
  • 可一维优化:用 dp[j] + prev 保存左上角

1035 不相交的线(Uncrossed Lines)

  • 本质:其实就是 数组版 LCS(两个数组的最长公共子序列)。
  • 线不相交 ⇔ 匹配的下标必须保持相对顺序 ⇔ 子序列。
  • 直接套 1143 的 DP:
    • dp[i][j]:A[0..i-1] 和 B[0..j-1] 最多能连几条不相交线
    • 相等:dp[i-1][j-1]+1
    • 不等:max(dp[i-1][j], dp[i][j-1])

53 最大子数组和

  • 本质:一段连续子数组的最大和(必须连续)。
  • Kadane / DP 核心思想:以 i 结尾的最优子数组,要么接上前面,要么从自己重开。
    • cur:以当前位置结尾的最大子数组和
    • 转移:cur = max(nums[i], cur + nums[i])
    • ans = max(ans, cur)
    • O(n) 时间、O(1) 空间

392 判断子序列

  • 本质:s 是否能按顺序在 t 中“依次匹配出来”(不要求连续)。
  • 核心思想:双指针线性扫描。
  • 指针 i 扫 s、j 扫 t:
    • 若 s[i]==t[j]:i++
    • j++ 一直走
  • 最后 i==|s| 则 true
  • 进阶(大量查询同一 t):
    • 预处理 next[pos][ch] 跳表 → 每次 O(|s|)
    • 或字符位置列表 + 二分 → 每次 O(|s| log|t|)

练习题目
1143.最长公共子序列(mid):https://leetcode.cn/problems/longest-common-subsequence/
1035.不相交的线(mid):https://leetcode.cn/problems/uncrossed-lines/description/
53. 最大子序和(mid):https://leetcode.cn/problems/maximum-subarray/
392.判断子序列(easy):https://leetcode.cn/problems/is-subsequence/description/

相关新闻

  • 基于openGauss的智能数据中台:DataBrain Pro产品白皮书 - 教程
  • 英语_阅读_What can stand for China_待读
  • matlab进行利用遗传算法对天线阵列进行优化

最新新闻

  • DuckDB:从研究项目到广泛应用的数据库,为何如此之快?
  • 如何在OBS Studio中集成专业VST音频插件提升直播音质
  • 视觉驱动UI自动化:从DOM到像素的革命性跨越
  • 终极指南:5分钟掌握Cpp2IL逆向Unity IL2CPP的完整教程
  • 网盘直链下载助手:告别限速烦恼,九大网盘高速下载全攻略
  • AI工具会越来越多,真正的竞争力是那层让工具跑起来的底座

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号