2018年5月2日 下午3:54
House Robber - LeetCode
从这道题可以看出动态规划也是可以用遍历去解释的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class Solution { public: int rob(vector<int>& nums) { if(nums.size() == 0) return 0; std::vector<int> dp(nums.size()+1, 0); dp[0] = nums[0]; dp[1] = nums[1] > nums[0] ? nums[1]:nums[0]; for(int i = 2; i < nums.size(); i++){ dp[i] = max((dp[i-2]+nums[i]), dp[i-1]); } return dp[nums.size()-1]; } };
|