Python | Leetcode Python题解之第213题打家劫舍II

news2024/12/23 5:51:24

题目:

题解:

class Solution:
    def rob(self, nums: List[int]) -> int:
        def robRange(start: int, end: int) -> int:
            first = nums[start]
            second = max(nums[start], nums[start + 1])
            for i in range(start + 2, end + 1):
                first, second = second, max(first + nums[i], second)
            return second
        
        length = len(nums)
        if length == 1:
            return nums[0]
        elif length == 2:
            return max(nums[0], nums[1])
        else:
            return max(robRange(0, length - 2), robRange(1, length - 1))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1891684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Rural Access Index (RAI)农村通达指数

农村通达指数(RAI) 简介 农村通达指数(RAI)是全球交通领域最重要的发展指标之一。它是目前可持续发展目标中唯一一个直接衡量农村通达性的指标,通过评估农村人口的四季道路通达性来实现。在 2015 年作为可持续发展目…

二手物品交易小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,管理员管理,商品信息管理,论坛管理,收货地址管理,基础数据管理 微信端账号功能包括:系统首页,商品信息&…

币界网讯,预计以太坊现货 ETF 将于 7 月中旬推出

刚刚 ETF Store 总裁 Nate Geraci 在 X (前Twitter)平台上宣布,备受数字货币市场期待的SEC以太坊现货 ETF提案,将于7 月中旬通过美国证券交易委员会(SEC)批准。Nate Geraci透露修订后的 S-1 文件将于 7 月 …

Java高级重点知识点-20-File

文章目录 File类 File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 基本方法 构造方法: public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于目标鲁棒的电动汽车及基站储能联合参与电力市场的决策模型 》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

SpringCloud进阶篇

文章目录 网关快速入门创建模块引入依赖修改启动类配置路由路由过滤(一般不用) 自定义GlobalFilter登录校验登录校验过滤器 微服务获取用户信息保存用户信息到请求头拦截器获取用户信息 OpenFeign传递用户信息配置共享添加共享配置拉取共享配置 配置热更新添加配置到Nacos配置热…

#LinuxC高级 笔记二

makefile gcc gdb makefile 1. 分文件编程 1.1 源文件&#xff1a;.c结尾的文件 包含main函数的.c 包含子函数的.c 1.2 头文件&#xff1a;.h结尾的文件 头文件、宏定义、typedef 、结构体、共用体、枚举、函数声明 include引用时“”和<>的区别&#xff1a; <>去系…

泰安再见,泰山OFFICE还会再见

路过泰安&#xff0c;遇见彩虹。怀念和感恩在泰山信息科技的万丈豪情。 泰山OFFICE&#xff0c;还是要复活。

苹果电脑虚拟机运行Windows Mac环境安装Win PD19虚拟机 parallels desktop19虚拟机安装教程免费密钥激活

在如今多元的数字时代&#xff0c;我们经常需要在不同的操作系统环境下进行工作和学习。而对于 Mac 用户来说&#xff0c;有时候需要在自己的电脑上安装 Windows 操作系统&#xff0c;以体验更多软件及功能&#xff0c;而在 Mac 安装 Windows 虚拟机是常用的一种操作。下面就来…

Git详细安装和使用教程

文章目录 准备工作-gitee注册认识及安装GitGit配置用户信息本地初始化Git仓库记录每次更新到仓库查看及切换历史版本Git忽略文件和查看文件状态Git分支-查看及切换Git分支-创建分支Git分支-合并及删除分支Git分支-命令补充Git分支-冲突需求: 准备工作-gitee注册 传送门: gite…

Paimon 在汽车之家的业务实践

汽车之家基于Paimon的实践 摘要&#xff1a;本文分享自汽车之家的王刚、范文、李乾⽼师。介绍了汽车之家基于 Paimon 的一些实践&#xff0c;和一些背景。内容主要为以下四部分&#xff1a; 一、背景 二、业务实践 三、paimon 优化实践 四、未来规划 一、背景 在使用Paimon之前…

独立开发者系列(18)——js的window对象

独立开发者&#xff0c;必然要面对JS代码&#xff0c;基本可以认为在脚本语言里面&#xff0c;JS门槛最低&#xff0c;正因为如此&#xff0c;JS也是最受欢迎的开发语言之一。JS的代码运行规律&#xff0c;按照代码模块执行&#xff0c;也就是<script></script> 每…

node版本控制工具nvm,让你不用再重装node来更新版本。

引言 由于项目的nodejs版本不一致&#xff0c;导致需要卸载安装换版本&#xff0c;十分麻烦&#xff0c;使用nvm node版本控制器来快速切换node版本 下载安装 先把你原来的node安装目录删掉 github下载nvm-setup.zip。傻瓜式安装 Releases coreybutler/nvm-windows (gith…

宝塔Linux面板配置环境 + 创建站点

一、安装 &#xff08;1&#xff09;进入宝塔官网 https://www.bt.cn/new/index.html &#xff08;2&#xff09;点击“ 立即免费安装 ”&#xff0c;选择 Centos安装脚本 &#xff08;3&#xff09;进入 ssh 输入以下命令安装宝塔 yum install -y wget && wget -O …

【论文解读】CVPR2024:DUSt3R: Geometric 3D Vision Made Easy

论文“”https://openaccess.thecvf.com/content/CVPR2024/papers/Wang_DUSt3R_Geometric_3D_Vision_Made_Easy_CVPR_2024_paper.pdf 代码&#xff1a;GitHub - naver/dust3r: DUSt3R: Geometric 3D Vision Made Easy DUSt3R是一种旨在简化几何3D视觉任务的新框架。作者着重于…

错误 [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试 python ping

报错提示&#xff1a;错误 [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试 用python做了一个批量ping脚本&#xff0c;在windows专业版上没问题&#xff0c;但是到了windows服务器就出现这个报错 解决方法&#xff1a;右键 管理员身份运行 这个脚本 …

电子工程与网络技术解析

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;日常聊聊 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 正文 1、MUX&PD是什么意思 2、Hub 和HUB有什么区别 3、Redriver什么意思 4、Switch是什么意思 5、USB 2.0 ETHERNET2什么意思 6、…

Ubuntu18.04新安装--无网络连接、重启黑屏解决教程

一、安装Ubuntu Ubuntu安装需要U盘作为启动盘&#xff0c;在目前教新的电脑中选中GPT作为分区&#xff0c;制作启动盘&#xff0c;其中在安装双系统Ubuntu时&#xff0c;以自定义格式作为存储空间。详细安装过程以以及如何分区请参考下列链接&#xff1a;内含详细安装过程&…

教育场景中的自动化分拣系统!基于大象机器人UltraArm P340机械臂和传送带的实现

引言 今天我们将展示一个高度自动化的模拟场景&#xff0c;展示多个机械臂与传送带协同工作的高效分拣系统。在这个场景中&#xff0c;机械臂通过视觉识别技术对物体进行分类&#xff0c;并通过精确的机械操作将它们放置在指定的位置。这一系统不仅提高了分拣的速度和准确性&am…

Vue el-table列合并

1.封装公用方法 const dataMethod (data, isH []) > {let spanObj {}; // 存储每个key 对应的合并值let pos {}; // 存储的是 key合并值得索引// 循环数据for (let i 0; i < data.length; i) {let dataI data[i];// 循环数据内对象&#xff0c;查看有多少keyfor (…