// DP
class Solution {
public:
    int rob(vector<int> &num) {
        if (num.size() <= 1) return num.empty() ? 0 : num[0];
        vector<int> dp = {num[0], max(num[0], num[1])};
        for (int i = 2; i < num.size(); ++i) {
            dp.push_back(max(num[i] + dp[i - 2], dp[i - 1]));
        }
        return dp.back();
    }
};

相关文章:

  • 2022-01-24
  • 2021-07-13
  • 2021-11-23
  • 2021-12-17
  • 2021-05-30
  • 2022-02-26
猜你喜欢
  • 2022-02-20
  • 2021-06-24
相关资源
相似解决方案