class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型
*/
int rob(vector<int>& nums) {
// write code here
if (nums.empty()) return 0;
if (nums.size() == 1) return nums[0];
int n = nums.size();
auto helper = [&](int l,int r){
int prev1=0,prev2=0;
for(int tmp=l;tmp<=r;tmp++){
int cur = max(prev1+nums[tmp],prev2);
prev1 = prev2;
prev2 = cur;
}
return prev2;
};
int res = max(helper(0,n-2),helper(1,n-1));
return res;
}
};

京公网安备 11010502036488号