class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型
     */
    int rob(vector<int>& nums) {
        // write code here
        if(nums.empty())    return 0;
        if(nums.size()==1) return nums[0];
        int n = nums.size();
        vector<int> dp(n+1,0);
        dp[1] = nums[0];
        for(int i=2;i<n+1;i++){
            dp[i] = dp[i-1]>dp[i-2]+nums[i-1]?dp[i-1]:dp[i-2]+nums[i-1];
        }
        return dp[n];
    }
};