摘要:
198.打家劫舍 题目链接:198.打家劫舍 文档讲解︰代码随想录(programmercarl.com) 视频讲解︰打家劫舍 日期:2024-10-13 想法:dp[i]到第i个房子时能偷的最多的钱;递推公式:是上上一栋房子的dp[i - 2]加上这栋房子的钱nums[i]大还是上一家邻居偷的钱d 阅读全文
摘要:
322. 零钱兑换 题目链接:322. 零钱兑换 文档讲解︰代码随想录(programmercarl.com) 视频讲解︰零钱兑换 日期:2024-10-12 想法:完全背包,注意初始化除dp[0]外都要置为Integer.MAX_VALUE,才能后面选出最小值,还有判断dp[j - coins[i 阅读全文
摘要:
完全背包 题目链接:完全背包 文档讲解︰代码随想录(programmercarl.com) 视频讲解︰完全背包 日期:2024-10-11 想法:dp数组设置思路跟01背包一样,不同在遍历上,完全背包遍历背包大小是从weight[i]开始的(背包空间小于weight[i]就没有意义,不用考虑,直接用 阅读全文
摘要:
1049. 最后一块石头的重量 II 题目链接:1049. 最后一块石头的重量 II 文档讲解︰代码随想录(programmercarl.com) 视频讲解︰最后一块石头的重量 II 日期:2024-10-10 想法:这这么会是分割等和子集一类的问题。。。 Java代码如下: class Solut 阅读全文
摘要:
背包问题 二维 题目链接:背包问题 二维 文档讲解︰代码随想录(programmercarl.com) 视频讲解︰背包问题 二维 日期:2024-10-09 想法:dp[i][j],i表示需要从物品0-i中选择加入到背包中,j表示背包的容量,dp值表示最大的价值; 递推公式,如果背包大小j都比此时要 阅读全文
摘要:
62.不同路径 题目链接:62.不同路径 文档讲解︰代码随想录(programmercarl.com) 视频讲解︰不同路径 日期:2024-10-08 想法:第一行第一列只有一种方法,除此之外的各自的方法数由其左和上的格子的和得到。 Java代码如下: class Solution { public 阅读全文
摘要:
动态规划:1.动态规划中每一个状态一定是由上一个状态推导出来的 2.确定dp数组(dp table)以及下标的含义,确定递推公式dp,数组如何初始化,确定遍历顺序,举例推导dp数组;3.Debug:dp数组打印 509. 斐波那契数 题目链接:509. 斐波那契数 文档讲解︰代码随想录(progra 阅读全文
摘要:
56. 合并区间 题目链接:56. 合并区间 文档讲解︰代码随想录(programmercarl.com) 视频讲解︰合并区间 日期:2024-10-06 想法:重叠区间类似问题 Java代码如下: class Solution { public int[][] merge(int[][] inte 阅读全文
摘要:
452. 用最少数量的箭引爆气球 题目链接:452. 用最少数量的箭引爆气球 文档讲解︰代码随想录(programmercarl.com) 视频讲解︰452. 用最少数量的箭引爆气球 日期:2024-10-05 想法:对气球起点排序,没有重叠的箭头+1,有重叠得话将右边置为最小的右边。 Java代码 阅读全文
摘要:
134. 加油站 题目链接:134. 加油站 文档讲解︰代码随想录(programmercarl.com) 视频讲解︰加油站 日期:2024-10-04 想法:1.总汽油大于等于消耗一定能跑完,2.当前剩余汽油小于0了,只能从下一站开始重新计算 Java代码如下: class Solution { 阅读全文