力扣热门100题之打家劫舍

张开发
2026/4/16 10:40:29 15 分钟阅读

分享文章

力扣热门100题之打家劫舍
核心思路不能偷相邻的所以到第i个房子时有两种选择偷那前一个不能偷总钱 dp[i-2] nums[i]不偷总钱 dp[i-1]所以递推公式dp[i] max(dp[i-1], dp[i-2] nums[i])完整代码实现class Solution { public int rob(int[] nums) { int n nums.length; if(n 0) return 0; if(n 1) return nums[0]; int pre2 0; //dp[i - 2] int pre1 nums[0]; //dp[i - 1] for(int i 1 ;in;i){ int cur Math.max(pre1,pre2 nums[i]); // 偷 不偷 pre2 pre1; pre1 cur; } return pre1; } }

更多文章