• 2024-06-23代码随想录算法训练营第45天 | 198.打家劫舍 、213.打家劫舍II 、337.打家劫舍III
    今天就是打家劫舍的一天,这个系列不算难,大家可以一口气拿下。198.打家劫舍视频讲解:https://www.bilibili.com/video/BV1Te411N7SXhttps://programmercarl.com/0198.打家劫舍.html/***@param{number[]}nums*@return{number}*/varrob=function(nums){const
  • 2024-06-20leetcode 动态规划 (基础版)打家劫舍
    题意:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 
  • 2024-06-12力扣第198题“打家劫舍”
    关注微信公众号数据分析螺丝钉免费领取价值万元的python/java/商业分析/数据结构与算法学习资料在本篇文章中,我们将详细解读力扣第198题“打家劫舍”。通过学习本篇文章,读者将掌握如何使用动态规划来解决这一问题,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以
  • 2024-06-08代码随想录算法训练营第五十天| 198.打家劫舍、213.打家劫舍II、337.打家劫舍 III
    198.打家劫舍文档讲解:代码随想录题目链接:.-力扣(LeetCode) 问题:计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。也就是说相邻的房间不能偷当前房屋偷与不偷取决于前一个房屋和前两个房屋是否被偷了。所以这里就更感觉到,当前状态和前面状态会有一种依赖
  • 2024-05-27「动态规划」打家劫舍
    力扣原题链接,点击跳转。有一个小偷,要偷东西。假设有n个房间,每个房间都有现金,下标为i的房间内的现金数是nums[i]。不能同时偷相邻的2个房间,其中第一个房间和最后一个房间是相邻的。那么这个小偷最多能偷到多少现金呢?由于小偷不能同时偷第一个房间和最后一个房间,可以根据是否偷
  • 2024-05-24动态规划之打家劫舍I和II
            这次分享leetcode上关于动态规划的两道题,打家劫舍I和打家劫舍II。打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统
  • 2024-05-11198. 打家劫舍
    你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能
  • 2024-05-02力扣198.打家劫舍*
    引言在做动态规划专题的过程中发现打家劫舍是一个十分经典的动态规划类型题,之后的好多题都有这道题的影子,比如我下一篇准备整理的740.删除并获得点数,弄明白打家劫舍真的可以算是动态规划入门了(所以这个动态规划门槛也太高了吧,我的脑子,我的脑子啊)题目你是一个专业的小偷,计划偷窃
  • 2024-04-16213. 打家劫舍 ll
    题目链接:状态划分:考虑是否偷\(\rmnums[0]\)若偷\(\rmnums[0]\),则\(\rmnums[1]\)和\(\rmnums[n-1]\)不能偷,问题变为从\(\rmnums[2]\)到\(\rmnums[n-2]\)的非环形版本,可直接调用198题的代码若不偷\(\rmnums[0]\),问题变为从\(\rmnums[1]\)到\(\rmnum
  • 2024-04-09198. 打家劫舍
    题目链接:本题考察动态规划。实现一、递推\(f[i]\)表示考虑下标从\(0\simi\)的房屋最多能抢劫到的金额。思考状态转移时考虑第\(i\)个房屋抢或不抢。由于不能抢劫相邻的房屋,若抢了第\(i\)个房屋,则第\(i-1\)个房屋就不能抢,再抢只能从\(i-2\)开始考虑,即\(\rmf[i-
  • 2024-04-07双数列-力扣-打家劫舍2
    一个专业的小偷,计划偷窃一个环形街道上沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每
  • 2024-03-21(47/60)打家劫舍、打家劫舍Ⅱ、打家劫舍Ⅲ
    day47打家劫舍leetcode:198.打家劫舍动态规划代码实现/*偷到下标为i的最大金额数为dp[i]偷i、不偷i:dp[i]=max(dp[i-2]+nums[i],dp[i-1]);dp[0]=nums[0];dp[1]=max(nums[0],nums[1]);正序遍历*/classSolution{public:introb(vector<int>&nums){
  • 2024-03-15代码随想录算法训练营第四十七天| ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
    打家劫舍 题目链接:198.打家劫舍-力扣(LeetCode)思路:每一家的最大收益来源只有两个,一个是这家不偷,那么最大收益等于从上一家出来的最大收益,另一个是偷这一个家,因此最大收益等于从上上一家出来的最大收益加这一家的收益。classSolution{public:introb(vector<int>&nu
  • 2024-03-15代码随想录算法训练营第四十七天 | 337.打家劫舍III,213.打家劫舍II ,198.打家劫舍
     198.打家劫舍 已解答中等 相关标签相关企业 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一
  • 2024-02-16代码随想录 day51 打家劫舍
    打家劫舍当前位置偷与不偷取决于上一家的状态也就是有递推式考虑dp当前位置如果偷就是找i-2的位置的钱+当前的nums[i]如果不偷就是i-2的钱两个情况取最大值初始值如果只有0或1家人就特殊处理2家及以上初始0就是nums[0]1就是max(nums[0],nums[1])打家劫舍I
  • 2024-01-19动态规划(6) 打劫问题
    目录打家劫舍打家劫舍第一题应该不难想classSolution{public:introb(vector<int>&nums){//dp含义,偷到第n号房间最多能偷多少intn=nums.size();if(n==1){returnnums[0];}vector<int>dp(n,0);
  • 2023-11-30代码随性训练营第四十八天(Python)| 198.打家劫舍、213.打家劫舍II、337.打家劫舍 III
    198.打家劫舍1、动态规划classSolution:defrob(self,nums:List[int])->int:#dp数组代表在第i个房间可以偷窃到的最高金额为dp[i]dp=[0]*len(nums)iflen(nums)==1:returnnums[0]iflen(nums)==2:
  • 2023-11-14Dynamic Programming
    目录热身198.打家劫舍62.不同路径63.不同路径II213.打家劫舍II337.打家劫舍III参考:https://cloud.tencent.com/developer/article/1692068热身斐波那契数列递归求解自顶向下,存在大量的重复计算动态规划保存中间状态,利用保存的历史状态求解问题,减少了重复计算,空间
  • 2023-10-24198. 打家劫舍
    链接https://leetcode.cn/problems/house-robber/description/思路 相邻的要么选,要么不选。设置dp[i]表示以nums[i]为结尾的序列的最大收益。所以状态转移方程为:dp[i]=max(dp[i-1],dp[i-2]+nums[i]).根据这个定义,我们来对前2个元素初始化就ok了。代码classSolution:
  • 2023-09-16LC每日一题 198.打家劫舍
    你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内
  • 2023-09-02打家劫舍
    你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下,一夜之内
  • 2023-08-21打家劫舍【二】
    题目:你是一个经验丰富的小偷,准备偷沿湖的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家,就不能再偷第二家,如果偷了第二家,那么就不能偷第一家和第三家。沿湖的房间组成一个闭合的圆形,即第一个房间和最后一个房间视为相邻。给定一个长度为n的
  • 2023-08-14LeetCode 198.打家劫舍
    1.题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜
  • 2023-08-06C++动态规划经典试题解析之打家劫舍系列
    1.前言力扣上有几道与打家劫舍相关的题目,算是学习动态规划时常被提及的经典试题,很有代表性,常在因内大大小小的社区内看到众人对此类问题的讨论。学习最好的方式便是归纳总结、借鉴消化,基于这个目的,本文对此类问题也做了讲解,在一些优秀思想的基础上添加了个人观点。闲话少说,进入
  • 2023-07-24代码随想录算法训练营第三十六天| 198.打家劫舍 213.打家劫舍II 337.打家劫舍III
     198.打家劫舍 要求:给定一个nums,要求取得最大值,但是不可以选择两个相邻的数dp定义:dp[n],取到第N个数字的时候,最大值递推公式:取:nums[i]+dp[j-2]不取:nums[i-1];代码:1//在两个数字不相邻的情况下,得到的最大金额2//思路:3//dp[n]第N个数字时的最大金额数4