题解 | #打家劫舍(二)#

打家劫舍(二)

https://www.nowcoder.com/practice/a5c127769dd74a63ada7bff37d9c5815

#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型
     */
    int robFunc(vector<int>& nums,int start,int end) {
        // int n=nums.size();
        int n =end+1;
        vector<int> dp(n+2,0);
        for(int i=start;i<=end;i++) {
            dp[i+2] = max(dp[i+1],dp[i]+nums[i]);
        }
        return dp[end+2];
    }
    int rob(vector<int>& nums) {
        // write code here
        int n = nums.size();
        if (n == 0) return 0;
        if (n == 1) return nums[0];
        return max(robFunc(nums,0,n-2),robFunc(nums,1,n-1));
    }
};


// dfs(i) = max(dfs(i-1),dfs(i-2)+nums[i]);

// dp[i+2] = max(dp[i+1],dp[i]+nums[i]);
// return dp[n+1];

全部评论

相关推荐

野猪不是猪🐗:现在的环境就是这样,供远大于求。 以前卡学历,现在最高学历不够卡了,还要卡第一学历。 还是不够筛,于是还要求得有实习、不能有gap等等... 可能这个岗位总共就一个hc,筛到最后还是有十几个人满足这些要求。他们都非常优秀,各方面都很棒。 那没办法了,看那个顺眼选哪个呗。 很残酷,也很现实
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务