2023年2月16日 星期四

198. House Robber

解題思路

是要 rob 當下這間以及上上間能 rob 的總和,還是不 rob 這間而取上間 rob 的總和?

程式碼

class Solution {
public:
    int rob(vector<int>& nums) {
        if(nums.size() == 1) return nums[0];
        if(nums.size() == 2) return max(nums[0], nums[1]);
        vector<int> money(nums.size(), 0);
        money[0] = nums[0], money[1] = max(nums[0], nums[1]);

        for(int i=2; i<nums.size(); i++)
            money[i] = max(money[i-1], nums[i] + money[i-2]);
        return money[nums.size() - 1];
    }
};

沒有留言:

張貼留言