首页 > 其他分享 >198. 打家劫舍

198. 打家劫舍

时间:2025-01-09 15:44:49浏览次数:1  
标签:index return 198 nums process self 打家劫舍 dp

  1. [题目链接](198. 打家劫舍 - 力扣(LeetCode))

  2. 解题思路:比较经典的动态规划。从左往右尝试。来到index位置,有两种选择,不偷,那么就去index+1位置做决策,偷,那么就去index + 2做决策。直接加dp表即可。

  3. 代码

    
    class Solution:
        
        def process(self, nums, index, dp):
            if index >= len(nums):
                return 0
            
            if dp[index] != -1:
                return dp[index]
            # 偷
            yes = self.process(nums, index + 2, dp) + nums[index]
            # 不偷
            no = self.process(nums, index + 1, dp)
            dp[index] = max(yes, no)
            return dp[index]
            
        
        
        def rob(self, nums: List[int]) -> int:
            dp = [-1 for _ in range(len(nums)) ]
            return self.process(nums, 0, dp)
    

标签:index,return,198,nums,process,self,打家劫舍,dp
From: https://www.cnblogs.com/ouyangxx/p/18662277

相关文章

  • 基于 GEE Landsat C02 数据集合成 1986-2023 年的逐年年均 NDVI、多年均值、多年均值
    目录1完整代码2运行结果1完整代码//感兴趣的区域信息varroi=ee.FeatureCollection('projects/ee-zhangkanghnust/assets/HengShaoLou');Map.centerObject(roi);Map.addLayer(roi,{'color':'grey'},'roi');//Appliesscalingfactors.......
  • 蓝桥19865 线性规划
    太久没碰这种数学了,写的比较笨数列前k项≤2N的情况进行线性规划,约束条件有a+(k-1)d≤2n,a+kd>2n,前k项求和>2n在k≥3时,约束条件2包含约束条件3,a+(k-1)d≤2n,a+kd>2n,在[3,inf)上区域求和,就是a+2d≤2nk=1,2为特殊情况,k=1时无法满足,k=2时约束条件......
  • 打家劫舍(动态规划)
    你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内......
  • 记录一个Github推送的问题(ssh推送出现:Connection closed by 198.18.0.9 port 22)
    一、前言:在公司需要将一个文档推送到GitHub仓库,由于Github对Https的推送已经移除了对密码认证的支持(2021.8.13),所以想要进行身份验证就只能使用两种方式:使用PersionalAccessToken(PAT)使用SSH认证PAT认证太麻烦了,每次都要输入,这里就主要介绍使用SSH认证的方式。二、Github......
  • 树形DP学习笔记(二):打家劫舍III & 监控二叉树
    参考:树形DP:打家劫舍III【基础算法精讲24】_哔哩哔哩_bilibili树形DP:监控二叉树【基础算法精讲25】_哔哩哔哩_bilibilips:笔记中的代码按本人理解整理,重思路,对比原视频中的代码稍有改动往期:树形DP学习笔记(一):树的路径问题-CSDN博客状态机DP学习笔记-CSDN博客【如果笔记......
  • 自1981年我国历次博士、硕士学位授权审核情况
    我国的学位授权审核制度是随着高等教育的恢复逐渐发展起来的,自从1981年国务院学位委员会《中华人民共和国学位条例》以来,国务院学位委员会先后组织开展了十四批博士、硕士学位授权审核工作。学术学位授权审核从1980年开始,经历了初创期、稳定发展与改革初探期、积极发展与深化改革......
  • leetcode 213. 打家劫舍 II
    213.打家劫舍II与  198.打家劫舍  相比,多了首和尾不能同时偷的条件但是没写出来......
  • //需求//某系统的数字密码(大于0),比如1983,采用加密方式进行传输;//规则如下:先得到每位数
    //需求//某系统的数字密码(大于0),比如1983,采用加密方式进行传输;//规则如下:先得到每位数,然后每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){//1.通过输入......
  • 数字组合转字母&删除二叉树节点&字符串相乘&打家劫舍ii&无序数组第k大 &无序数组前k大
    一、数字串转换为字符串1-26个数字分别代表26个字符(A-z)输入"12326〞就可以拆分为【1,2,3,2,6】、(12,3,2,6].[1,23,2,6]【1,23,26】、【12,3,26】等,将每种组合转成成对应字母输出,输出所有可能的结果返回所有可能的转换结果//将数字串转换成字母串//将数字串转换成字母......
  • Leetcode_打家劫舍
    题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ......