随笔 - 56,  文章 - 0,  评论 - 0,  阅读 - 12085

 

复制代码
class Solution {
public:
    int rob(vector<int>& nums) {
        int last,next2Last,ans;
        if(nums.empty()){
            return 0;
        }
        if(nums.size()==1){
            return nums[0];
        }
        next2Last=nums[0];
        last=max(nums[0],nums[1]);
        ans=last;
        //int N=nums.size()-2;
        for(int i=2;i<nums.size();i++){
            ans=max(next2Last+nums[i],last);
            
            next2Last=last;
            last=ans;
        }
        return ans;
    }
};
View Code
复制代码

 

dp[i+1] 只能是二者之一

{

  1. 如果算上当前数,即nums[i+1],ans = dp[i-1] + nums[i+1]
  2. 如果不算,dp[i+1] = dp[i]

}

 

posted on   苛性氢  阅读(341)  评论(0编辑  收藏  举报
编辑推荐:
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
· 探秘 MySQL 索引底层原理,解锁数据库优化的关键密码(下)
· 大模型 Token 究竟是啥:图解大模型Token
阅读排行:
· 如何开发 MCP 服务?保姆级教程!
· 1.net core 工作流WorkFlow流程(介绍)
· 瞧瞧别人家的限流,那叫一个优雅!
· C# 工业视觉开发必刷20道 Halcon 面试题
· 从零散笔记到结构化知识库:我的文档网站建设之路

< 2025年4月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10
点击右上角即可分享
微信分享提示