Skip to content

Latest commit

 

History

History
19 lines (14 loc) · 420 Bytes

File metadata and controls

19 lines (14 loc) · 420 Bytes
int f(int i, vector<int>& nums, vector<int>& dp) {
    if (i >= nums.size()) {
        return 0;
    }
    if (dp[i] != -1) return dp[i];

    return dp[i] = max(f(i + 1, nums, dp), nums[i] + f(i + 2, nums, dp));
}

int rob(vector<int>& nums) {
    vector<int> dp(nums.size(), -1);
    return f(0, nums, dp);
}