1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| class Solution { public: int rob(vector<int>& nums) { if(nums.size() == 1) return nums[0]; int dp[2]; dp[0] = nums[0]; dp[1] = max(nums[0], nums[1]); for(int i = 2; i < nums.size(); ++i) { dp[0] = max(nums[i] + dp[0], dp[1]); swap(dp[0], dp[1]); } return dp[1]; } };
|