当前位置: 首页 > article >正文

leecode213.打家劫舍||

 普通的198.打家劫舍是一个普通数组,这里的题目是成环了,相当于如果偷了房间0那么最后一个不能偷,如果偷了最后一个,那么房间0不能偷;

所以分成两种情况来进行动态规划,两种情况取最大值就行,第一种是不包含最后一个房间的偷取情况,第二种是不包含第一个房间的偷取情况

class Solution {
private:
    int rob(vector<int>& nums,int begin,int end){
        if(end-begin==0)
            return nums[begin];

        vector<int> dp(nums.size(),0);
        dp[begin]=nums[begin];
        dp[begin+1]=max(nums[begin],nums[begin+1]);
        for(int i=begin+2;i<=end;i++)
            dp[i]=max(dp[i-2]+nums[i],dp[i-1]);
        return dp[end];
    }
public:
    int rob(vector<int>& nums) {
        if(nums.size()==1)
            return nums[0];

        int result1=rob(nums,0,nums.size()-1-1);
        int result12=rob(nums,1,nums.size()-1);
        return max(result1,result12);
    }
};


http://www.kler.cn/a/459067.html

相关文章:

  • 解决chatgpt(mac app登陆)出现报错:获取您的 SSO 信息时出错
  • gitlab的搭建及使用
  • 二十三种设计模式-单例模式
  • Vue3 中的计算属性和监听属性
  • 深入浅出梯度下降与反向传播
  • 【深度学习基础之多尺度特征提取】图像金字塔(Image Pyramid)是如何在深度学习网络中提取多尺度特征的?附代码
  • Android 源码阅读随笔(一)—— 下载源码
  • git自动压缩提交的脚本
  • python制作打字小游戏
  • 图文检索(37):局部对齐Stacked Cross Attention for Image-Text Matching
  • GPU 进阶笔记(二):华为昇腾 910B GPU
  • 【从0到0.5】基于STM32F427+DP83848+FreeRTOS+LWIP+CubeMx+Keil搭建TCP服务端与客户端
  • 基于JDK 17 编写的Java常用工具类
  • Docker+Portainer 离线安装
  • 数学建模助力干细胞研究,配体纳米簇如何影响干细胞命运
  • 排序算法简单问题(Java)
  • Axture 实现一个简单的父子菜单
  • win32汇编环境下,提取对话框程序中,listview列表控件里的内容示例
  • ES IK分词字典热更新
  • 从0开始的Opencv之旅(到尝试构建一个图像编辑器):0,opencv demo
  • Kotlin 协程基础知识总结五 —— 通道、多路复用、并发安全
  • 存储进阶笔记(二):Linux 存储栈:从 Device Mapper、LVM 到文件系统(2024)
  • 抽奖2(信奥)
  • springboot515基于SpringBoot的宠物爱心组织管理系统(论文+源码)_kaic
  • Python爬虫(selenium)从网站获取信息并存入数据库(mysql)
  • SCOPE:面向大语言模型长序列生成的双阶段KV缓存优化框架