[leetcode]动态规划之House Robber II

动态规划之House Robber II

  • 题目
  • 思考
  • 代码

题目

leetcode入口

思考

刚开始想的dp[i]的解释是以nums[i]为结尾(包括nums[i])的最大数量,然后找不到状态方程。(这道题要和最长的子序列和区别开来,最长子序列和是连续的,故需要以dp[i]为结尾,而这道题可以是跳跃的,故不需要以dp[i]为结尾)
而把dp[i]理解为到位置i位置所能偷的最大数量,就能很容易的写出状态方程。

代码

class Solution {
   
public:
    int rob(vector<int>& nums) {
   
        if(nums.size()==0) return 0;
   

你可能感兴趣的:(动态规划,leetcode,动态规划,leetcode)