分类
Growth | Study
第一章:经典动态规划:最长公共子序列 第一章:经典动态规划:最长公共子序列
labuladong经典动态规划:最长公共子序列 1143. 最长公共子序列(在dp数组中添加0行和0列可以包含text为空的情况,并且更便于状态转移) dp数组的含义: 对于 text1[0..i-1] 和 text2[0..j-1],
2020-07-31
第一章:经典动态规划:编辑距离 第一章:经典动态规划:编辑距离
labuladong经典动态规划:编辑距离 72. 编辑距离 在word1 和word2 前面分别插入"" 不仅可以包括字符串为空的情况,而且可以更清楚地用空字符串说明状态转移的过程 i 和 j 中,因为最前面加了&
2020-07-30
第一章:动态规划设计:最大子数组 第一章:动态规划设计:最大子数组
labuladong动态规划设计:最大子数组 53. 最大子序和 课堂上,学生排排坐。 老师:“这门课的作业,你们可以选择自己完成,也可以根据座位顺序,和你前面的同学组队(前面的同学可能和前前面的同学组了队,也可能就他一个人)。” 每个
2020-07-29
第一章:动态规划设计:最长递增子序列 第一章:动态规划设计:最长递增子序列
labuladong动态规划设计:最长递增子序列 300. 最长上升子序列 dp数组的含义:以nums[i] 结尾的当前最长上升子序列的长度记录在dp[i]中 状态转移方程:nums[i] 与它之前的元素nums[j]进行比较,若大于num
2020-07-29
第一章:动态规划和回溯算法到底谁是谁爹? 第一章:动态规划和回溯算法到底谁是谁爹?
labuladong动态规划和回溯算法到底谁是谁爹? 494. 目标和方法1:动态规划(dp二维数组)dp[i][j]表示 数组中前i个元素组成和为j的方案数 base case: 首先初始化数组第0行。如果第一个元素为0,则dp[
2020-07-29
第零章:经典动态规划:完全背包问题 第零章:经典动态规划:完全背包问题
labuladong经典动态规划:完全背包问题 动态规划之背包汇总 第零章:动态规划解题套路框架第一章:经典动态规划:0-1 背包问题第零章:经典动态规划:子集背包问题第零章:经典动态规划:完全背包问题 0-1背包 完全背包
2020-07-27
第零章:经典动态规划:子集背包问题 第零章:经典动态规划:子集背包问题
labuladong经典动态规划:子集背包问题 动态规划之背包汇总 第零章:动态规划解题套路框架第一章:经典动态规划:0-1 背包问题第零章:经典动态规划:子集背包问题第零章:经典动态规划:完全背包问题 该背包问题相当于0-1背包问题的
2020-07-27
第一章:经典动态规划:0-1 背包问题 第一章:经典动态规划:0-1 背包问题
labuladong 经典动态规划:0-1 背包问题 动态规划之背包汇总 第零章:动态规划解题套路框架第一章:经典动态规划:0-1 背包问题第零章:经典动态规划:子集背包问题第零章:经典动态规划:完全背包问题 题目地址 有 n 个物品
2020-07-27
第零章:团灭 LeetCode 打家劫舍问题 第零章:团灭 LeetCode 打家劫舍问题
labuladong 团灭 LeetCode 打家劫舍问题 图解动态规划的解题四步骤 动态规划:在确定动态转移方程后,可以用(自顶向下的使用备忘录递归的方法) 自底向上使用 dp 数组的方法 198. 打家劫舍 dp数组表示第i个位置处能取
2020-07-26
第零章:我写了首诗,把滑动窗口算法变成了默写题 第零章:我写了首诗,把滑动窗口算法变成了默写题
labuladong 我写了首诗,把滑动窗口算法变成了默写题 增大窗口 找到可行解后缩小窗口 注意维护valid及window中的内容(若包含需要找的元素,才更新window) 滑动窗口算法的思路是这样: 1、我们在字符串S中使用
2020-07-25
第零章:我写了首诗,让你闭着眼睛也能写对二分搜索 第零章:我写了首诗,让你闭着眼睛也能写对二分搜索
labuladong 我写了首诗,让你闭着眼睛也能写对二分搜索 二分查找的一个技巧是:不要出现 else,而是把所有情况用 elif 列出来,这样可以清楚地展现所有细节 mid=left + (right - left) // 2 可防止
2020-07-25
第零章:BFS 算法解题套路框架(暂) 第零章:BFS 算法解题套路框架(暂)
labuladongBFS算法解题套路框架 BFS通常用于找到最短路径 BFS的队列遍历过程:Breadth First Search Algorithm | Shortest Path | Graph Theory BFS算法的框架
2020-07-24
6 / 8