首页 > 其他分享 >动态规划(6) 打劫问题

动态规划(6) 打劫问题

时间:2024-01-19 15:35:55浏览次数:42  
标签:打家劫舍 nums int 打劫 vector 动态 规划 dp

目录

打家劫舍

第一题应该不难想

class Solution {
public:
    int rob(vector<int>& nums) {
        //dp含义,偷到第n号房间最多能偷多少
        int n=nums.size();
        if(n==1)
        {
            return nums[0];
        }
        vector<int> dp(n,0);
        dp[0]=nums[0];
        dp[1]=max(nums[0],nums[1]);
        for(int i=2;i<n;i++)
        {
            dp[i]=max(dp[i-1],dp[i-2]+nums[i]);
        }

        return dp[n-1];

    }
};

标签:打家劫舍,nums,int,打劫,vector,动态,规划,dp
From: https://www.cnblogs.com/liviayu/p/17974761

相关文章

  • 手写 Mybatis-plus 基础架构(工厂模式+ Jdk 动态代理统一生成代理 Mapper)
    这里写目录标题前言温馨提示手把手带你解析@MapperScan源码手把手带你解析@MapperScan源码细节剖析工厂模式+Jdk代理手撕脚手架,复刻BeanDefinitionRegistryPostProcessor手撕FactoryBean代理Mapper在Spring源码中的生成流程手撕MapperProxyFactory手撕增强逻辑Invoca......
  • 动态规划(5)
    目录279完全平方数139单词拆分null279完全平方数对于遍历顺序,因为数字可以重复出现所以j从小到大对于初始化我们要求最小值所以除了dp[0]=0,其他的都是一个大值classSolution{public://dp[j]何为j的完全平方数的最小数量intnumSquares(intn){vector......
  • CCF模拟_202312-1_仓库规划
    计算机软件能力认证考试系统样例输入4200-1-1120-1样例输出3103提交:#include<iostream>usingnamespacestd;intmain(){ intn,m;//仓库数量,维度 int**a;//二维数组,存放仓库位置信息 inti,j,font,itmp,key;//这仨是存放后边的临时变量 cin>>n>......
  • C/C++ 实现动态资源文件释放
    当我们开发Windows应用程序时,通常会涉及到使用资源(Resource)的情况。资源可以包括图标、位图、字符串等,它们以二进制形式嵌入到可执行文件中。在某些情况下,我们可能需要从可执行文件中提取自定义资源并保存为独立的文件。在这篇博客文章中,我们将讨论如何使用C++和WinAPI实现这个目标......
  • nacos 动态刷新 数组对象 List/数组类型、复杂类对象配置
    @Value环境依赖版本SpringCloud是个大前提,不然还是考虑上面方式或者原生接入方案;@NacosPropertySource(dataId="mydata",autoRefreshed=true)同时@RefreshScope方能接收到nacos的push数据。@NacosValue依赖springbootNacos动态刷新基本数据类型很简单,只需要在字段......
  • 动态语言、静态语言、强类型语言、弱类型语言的区别
    在学习编程语言的类型系统时,经常听说“静态语言”“动态语言”“强类型语言”和“弱类型语言”这些概念,它们究竟是什么意思呢?各个概念之间又有什么区别呢?如果你阅读互联网上的博客,你也可能会发现一些矛盾的观点,有的作者糊涂地认为静态语言=强类型语言,或者动态语言=弱类型语言,但它......
  • 1480.一维数组的动态和
    1.题目介绍给你一个数组nums。数组「动态和」的计算公式为:runningSum[i]=sum(nums[0]…nums[i])。请返回nums的动态和。示例1:输入:nums=[1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为[1,1+2,1+2+3,1+2+3+4]。示例2:输入:nums=[1,1,1,1,1]输出:[1,2,3,4,5]......
  • 动态规划(4) 完全背包的遍历顺序
    目录377组合总和Ⅳ进阶版爬楼梯322零钱兑换377组合总和ⅣclassSolution{public:intcombinationSum4(vector<int>&nums,inttarget){intn=nums.size();vector<int>dp(target+1,0);dp[0]=1;for(intj=0;j<=target;j++)......
  • 动态规划(3)
    目录474完全背包模板题518零钱兑换474本地的dp数组由于需要考虑0和1两个元素,所以多了一维,是一个三维的dp数组,然后再使用滚动数组降至2维递推公式:dp[j][k]=max(dp[j][k],1+dp[j-num0][k-num1]);classSolution{public:intfindMaxForm(vector<string>&strs,intm,in......
  • 01分数规划
    01分数规划有\(n\)个物品,每个物品有两个权值\(a_{i}\),\(b_{i}\),现在要去掉\(k\)个物品,使得剩下的\(n-k\)个物品\(\frac{\suma_{i}}{\sumb_{i}}\)有最大值,并求出该最大值。\(\frac{\suma_{i}}{\sumb_{i}}\)=\(\frac{\suma_{i}*w_{i}}{\sumb_{i}*w_{i}}\)(\(w_......