class Solution { public: int rob(vector<int>& nums) { int len = nums.size(); if(len == 0) return 0; int MAX_SIZE = 255; int dp[MAX_SIZE] = {0}; for(int i = 0; i < len; i++) { dp[i] = nums[i]; } int max_sum = 0; dp[1] = dp[1] > dp[0] ? dp[1] : dp[0]; for(int i = 2; i < len; i++) { dp[i] = max(dp[i-2] + nums[i], dp[i-1]); } return dp[len-1]; } };
原文:https://www.cnblogs.com/CGJobs/p/11268706.html