You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing eachof them is that adjacent houses have security system connected andit will automatically contact the police iftwo adjacent houses were broken intoonthesamenight.
Given a list of non-negative integers representing the amount of money ofeach house, determine the maximum amount of money you can rob tonight without alerting the police.
代码如下:
class Solution {
public:
int rob(vector<int> &num) {
int best0 = 0; // 表示没有选择当前houses int best1 = 0; // 表示选择了当前houses for(int i = 0; i < num.size(); i++){
int temp = best0;
best0 = max(best0, best1); // 没有选择当前houses,那么它等于上次选择了或没选择的最大值
best1 = temp + num[i]; // 选择了当前houses,值只能等于上次没选择的+当前houses的money
}
return max(best0, best1);
}
};
198. House Robber题目:You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is