LeetCode 热题100 动态规划专题解析
动态规划是一种将复杂问题分解成简单子问题来解决的方法。在 LeetCode 热题100 中,动态规划应用于爬楼梯、打家劫舍等问题。
1. 爬楼梯
题目描述:一个人要爬楼梯,每次可以爬1个或2个台阶,求爬到n阶楼梯有多少种方法。
解题思路:使用动态规划。dp[i] = dp[i-1] + dp[i-2]。
2. 杨辉三角
题目描述:给定一个非负整数 n,输出杨辉三角的前 n 行。
解题思路:使用动态规划。dp[i][j] = dp[i-1][j-1] + dp[i-1][j]。
3. 打家劫舍
题目描述:给定一个数组,表示每个房屋的值,你可以选择连续的房屋进行打劫,但不能打劫相邻的房屋。
解题思路:使用动态规划。dp[i] = max(dp[i-1], dp[i-2] + nums[i])。