• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
rachel3140
博客园 首页 新随笔 联系 订阅 订阅 管理
上一页 1 2 3 4 5 下一页

2025年11月9日

“最小删除步数”错题复盘
摘要: 在刷“最小删除步数使两个字符串相等”这道题时,我从“思路跑偏”到“实现全错”,再到“逐步修正”,踩了很多典型坑。这道题看似是简单的字符串操作,实则考察对动态规划(LCS)的理解和题目本质的拆解能力,非常适合用来复盘总结。本文结合我的解题过程,梳理思维漏洞、提炼编程意识、巩固核心知识点,帮自己和同类学 阅读全文
posted @ 2025-11-09 11:37 Rachel拯救世界ing 阅读(28) 评论(0) 推荐(0)
 
 

2025年11月7日

DP压缩中的倒序遍历——01背包&子序列计数从二维到一维,倒序遍历是巧合还是必然?
摘要: 这个联想太敏锐了!它们不是巧合,而是共享同一个核心思路的“同源技巧”——本质都是「一维DP压缩二维DP时,用倒序遍历保护“上一轮的旧状态”」。 第一步:先回顾两个问题的「倒序遍历场景」 场景1:01背包问题(一维DP) 假设题目是“有n个物品,每个物品只能用一次,背包容量为m,求最大价值”,一维DP 阅读全文
posted @ 2025-11-07 17:40 Rachel拯救世界ing 阅读(23) 评论(0) 推荐(0)
 
 

2025年11月6日

最长递增子序列(LIS)深度解析:从动态规划到贪心+二分
摘要: 在数组类面试题中,「最长递增子序列(Longest Increasing Subsequence, LIS)」是当之无愧的“高频考点+思路模板”——它不仅本身经常被考察,其解题思想(动态规划、贪心+二分)还能迁移到数十种变种问题中。本文将从题目背景出发,拆解两种解法的“思路诞生过程”,解答新手最易困 阅读全文
posted @ 2025-11-06 11:37 Rachel拯救世界ing 阅读(211) 评论(0) 推荐(0)
 
 

2025年11月5日

接雨水问题反思&与最大容器问题对比
摘要: 在数组类经典问题中,“接雨水”与“盛最多水的容器”因场景高度相似(均围绕柱子与水的交互)常被混淆,但二者的核心目标、储水逻辑和解法路径差异显著。 本文将系统拆解两类问题的主流解法,剖析其设计思路与创新点,通过表格直观对比核心差异,并提炼“快速联想解题思路”的触发点(trigger),帮助彻底吃透这类 阅读全文
posted @ 2025-11-05 12:43 Rachel拯救世界ing 阅读(26) 评论(0) 推荐(0)
 
 

2025年11月1日

一文吃透线性序列近步依赖DP:从打家劫舍到股票交易
摘要: 在动态规划(DP)问题中,有一类高频场景格外“友好”——它们基于线性序列展开,状态仅依赖最近1-2步的结果,不仅逻辑清晰,还能将空间复杂度从O(n)优化到O(1)。本文将通过线性打家劫舍、股票交易II、爬楼梯三个典型例题,拆解这类“近步依赖DP”的共性,并提炼通用解题思路,帮你快速掌握这类问题的核心 阅读全文
posted @ 2025-11-01 09:56 Rachel拯救世界ing 阅读(7) 评论(0) 推荐(0)
 
 

2025年10月31日

动态规划dp[i]解决不了问题怎么办?
摘要: 1. 多状态动态规划 在需要“基于历史决策结果做当前选择”的问题中(如打家劫舍、买卖股票、序列匹配),若单状态(仅记录“当前最大/最小值”)无法承载“决策所需的关键依赖信息”,核心技巧是 “拆解决策依赖维度+设计多状态” ——先找到当前决策必须知道的历史条件(如是否持有股票、是否偷当前房屋),再将这 阅读全文
posted @ 2025-10-31 16:57 Rachel拯救世界ing 阅读(7) 评论(0) 推荐(0)
 
背包问题千千结:遍历顺序、内外循环,我们该如何思考?
摘要: 背包问题中“遍历方向”与“内外循环”对结果的影响总结 核心关系表 问题类型 内外循环顺序 背包容量遍历方向 结果特征(核心影响) 典型题目 特殊案例验证(错误vs正确) 01背包(物品不可重复) 物品外循环 逆序(从大到小) 每个物品仅用1次,不考虑选择顺序 分割等和子集、目标和 若正序遍历,会重复 阅读全文
posted @ 2025-10-31 11:40 Rachel拯救世界ing 阅读(31) 评论(0) 推荐(0)
 
 

2025年9月29日

图论01&02&03
摘要: 代码问题 很多问题都是由母问题衍生出来的,所以核心工具函数甚至不需要怎么变化,只需要在调用函数之前增加判断语句即可,妙哉~ 淹没孤岛的核心是 “先区分非孤岛和孤岛”:边缘相连的是非孤岛,先标记;剩下的是孤岛,再淹没; 困惑 如何判断孤岛? is_edge = (x == 0 or x == n-1 阅读全文
posted @ 2025-09-29 00:38 Rachel拯救世界ing 阅读(13) 评论(0) 推荐(0)
 
 

2025年9月22日

单调栈01
摘要: 代码问题 困惑 什么样的问题会让你想到利用栈这个数据结构? 栈(尤其是单调栈)非常适合解决 “在数组中寻找元素的特定邻居(如下一个更大 / 更小元素、第一个满足条件的元素等)” 类问题。这类问题的核心是通过栈的 “先进后出” 特性和 “单调性维护”,高效记录元素间的前后关系,避免暴力遍历的冗余计算。 阅读全文
posted @ 2025-09-22 23:56 Rachel拯救世界ing 阅读(11) 评论(0) 推荐(0)
 
 

2025年9月11日

动态规划03&04
摘要: 代码问题 困惑 字符串统计字符个数的快捷方式? c0 = sum(1 for char in str if char=='0') 0-1背包问题dp有哪些技巧? 一、dp数组的含义:先搞懂“我要记什么” dp数组的本质是“用空间换时间,记录子问题的解”。定义dp时,关键是想清楚:“我需要用什么样的子 阅读全文
posted @ 2025-09-11 17:13 Rachel拯救世界ing 阅读(13) 评论(0) 推荐(0)
 
 
上一页 1 2 3 4 5 下一页

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3