本文共 427 字,大约阅读时间需要 1 分钟。
相邻不能同时选取:
仔细一想,状态转移,只有两种方式,dp[i]取dp[i-2] 或者取dp[i-3]
dp[i-1] 因为相邻,不能取。
dp[i-4]如果取的话,那么dp[i-2] 一定比dp[i-4]更优,因为正权值。class Solution {public: int rob(vector & nums) { int L = nums.size(); if(L == 0) return 0; if(L == 1) return nums[0]; if(L == 2) return max(nums[0],nums[1]); int dp[L]; dp[0] = nums[0]; dp[1] = nums[1]; dp[2] = dp[0] + nums[2]; for(int i=3;i
转载地址:http://hnwji.baihongyu.com/