题解 | #打家劫舍(一)#
打家劫舍(一)
https://www.nowcoder.com/practice/c5fbf7325fbd4c0ea3d0c3ea6bc6cc79
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return int整型 */ int rob(vector<int>& nums) { // write code here if (nums.empty()) { return 0; } std::vector<std::vector<int>> dp(nums.size(), std::vector<int>(2, 0)); dp[0][0] = 0; dp[0][1] = nums[0]; int res = 0; for (int i = 1; i < nums.size(); i++) { dp[i][0] = max(dp[i - 1][0], dp[i - 1][1]); dp[i][1] = max(dp[i - 1][0] + nums[i], dp[i - 1][1]); } return max(dp[nums.size() - 1][0], dp[nums.size() - 1][1]); } };