动态规划入门问题。
tips:初始状态设f(-1) = f(0) = 0,简化运算。
class Solution {
public:
int rob(vector<int>& nums) {
int sz = nums.size();
int res = 0;
if(sz == 0) return 0;
int m1 = 0, m2 = 0;
for(int i = 0; i < sz; i++){
int tmp = max(m1+nums[i], m2);
m1 = m2;
m2 = tmp;
}
return m2;
}
};