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

Python实现“打家劫舍“的一种方法

Python实现“打家劫舍“的一种方法你是一个专业的小偷计划偷窃沿街的房屋。每间房内都藏有一定的现金影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统如果两间相邻的房屋在同一晚上被小偷闯入系统会自动报警 给定一个代表每个房屋存放金额的非负整数数组计算你在不触动警报装置的情况下能够偷窃到的最高金额解题思路对于每个房屋你有两个选择偷当前房屋那么就不能偷前一个房屋总金额 当前房屋金额 前前个房屋为止的最大金额不偷当前房屋总金额 前一个房屋为止的最大金额状态转移方程dp[i] max(dp[i-1], dp[i-2] nums[i])class Solution(object): def rob(self, nums): :type nums: List[int] :rtype: int if not nums: return 0 if len(nums) 1: return nums[0] sum_list [nums[0]] sum_list.append(max(nums[0], nums[1])) for i in range(2, len(nums)): sum_list.append(max(sum_list[i - 2] nums[i], sum_list[i - 1])) return sum_list[-1] if __name__ __main__: solution Solution() print (solution.rob([1, 2, 3, 3, 4, 2]))空间优化版本由于只需要前两个状态可以优化空间复杂度到 O(1)def rob(nums): if not nums: return 0 if len(nums) 1: return nums[0] prev2 nums[0] # dp[i-2] prev1 max(nums[0], nums[1]) # dp[i-1] for i in range(2, len(nums)): current max(prev1, prev2 nums[i]) prev2 prev1 prev1 current return prev1示例# 示例1 nums [1, 2, 3, 1] print(rob(nums)) # 输出: 4 (偷第1和第3个房屋: 134) # 示例2 nums [2, 7, 9, 3, 1] print(rob(nums)) # 输出: 12 (偷第1、3、5个房屋: 29112)时间复杂度O(n)空间复杂度O(1)

相关文章:

Python实现“打家劫舍“的一种方法

Python实现“打家劫舍“的一种方法 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 …...

AI开始替人跑任务后,真正决定体验的不是模型,而是向量引擎

AI开始替人跑任务后,真正决定体验的不是模型,而是向量引擎为什么这篇文章值得你现在看 过去一年,很多人聊AI,张口就是哪个模型更强。 有人追Gemini 3.5 Flash。 有人追Qwen新模型。 有人追OpenAI的Responses API和Agent工具链。 也…...

IntelliJ IDEA 2023.3 集成 Maven 3.8.3 保姆级避坑指南:从环境变量到项目构建全流程

IntelliJ IDEA 2023.3 与 Maven 3.8.3 深度集成实战:从零构建企业级Java项目 作为一名长期使用IntelliJ IDEA进行Java开发的工程师,我深刻体会到Maven与IDE无缝集成的重要性。每次新版本发布,那些看似简单的配置背后往往隐藏着令人头疼的兼容…...

华为员工职业发展手册

导读:这份华为员工职业发展手册,围绕员工入职、成长、晋升与激励构建了完整的职业发展体系,核心是明确企业、管理者与员工三方责任,搭建多元发展通道,助力员工与企业共成长。关注公众号:【互联互通社区】&a…...

DS89C420片上SRAM的启用与配置详解

1. 项目概述:DS89C420片上SRAM的启用与配置 在嵌入式开发领域,Dallas Semiconductor(后被Maxim Integrated收购)的DS89C420系列微控制器因其高性能和丰富的外设资源受到工程师青睐。这款基于8051架构的芯片有一个容易被忽视的特性…...

如何在现代显示器上完美重温经典游戏?终极宽屏修复工具包指南

如何在现代显示器上完美重温经典游戏?终极宽屏修复工具包指南 【免费下载链接】WidescreenFixesPack Plugins to make or improve widescreen resolutions support in games, add more features and fix bugs. 项目地址: https://gitcode.com/gh_mirrors/wi/Wides…...

用AI写论文,重复率和AIGC疑似率能同时控制在20%以内吗?实测几款主流软件的结果

2026年的毕业季,学术审核的天,彻底变了。两个月前,我的一位研究生朋友提交了初稿,查重率12%,自己还挺满意。结果导师一句话让他当场emo:“你这AIGC检测率42%,是不是AI代写的?”他愣住…...

如何永久激活IDM?免费IDM激活脚本终极指南

如何永久激活IDM?免费IDM激活脚本终极指南 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 还在为IDM试用期到期而烦恼吗?IDM Activation …...

SpringBoot-Scan:面向红队的SpringBoot资产指纹与测绘工作流

1. 这不是又一个“SpringBoot漏洞扫描器”教程,而是一份真实红队队员的资产测绘工作流你有没有遇到过这样的情况:手头刚拿到一个目标域名,技术栈标注着“SpringBoot 2.7.x”,但连它到底跑在哪个端口、是否启用了Actuator、有没有暴…...

5分钟快速上手:BepInEx游戏插件框架完全指南

5分钟快速上手:BepInEx游戏插件框架完全指南 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx是一款强大的游戏模组和插件框架,专门为Unity Mono、IL…...

OAuth 2.0 client_id深度解析:从规范到安全实践

1. 引言:一个字符串背后的身份体系 在 OAuth 2.0 的整个生态里,client_id 是出现频率最高却最容易被忽视的参数之一。它几乎出现在每一个授权请求的 URL 里,开发者往往只是将其视为"配置项",从 IdP 控制台粘贴过来填进…...

基于VSCode与CMake的G32R501 MCU现代化开发环境搭建实战

1. 项目概述:为什么选择这套组合拳? 最近在折腾极海半导体的G32R501这款MCU,发现身边不少朋友在搭建开发环境时,要么被臃肿的IDE拖慢速度,要么在构建配置上反复踩坑。我自己的习惯是,能用轻量化工具链搞定的…...

如何快速掌握洛雪音乐音源:新手小白也能轻松解锁全网高品质音乐

如何快速掌握洛雪音乐音源:新手小白也能轻松解锁全网高品质音乐 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 还在为找不到心仪歌曲的高品质音源而烦恼吗?lxmusic-项目为…...

案例之RNN案例_AI歌词生成器

案例之RNN案例_AI歌词生成器...

DECA加速器:神经网络模型压缩的硬件优化方案

1. DECA加速器:神经网络模型压缩的硬件突围在AI推理领域,模型压缩技术如同给神经网络"瘦身"——通过量化和稀疏化减少参数规模,但压缩后的数据需要解压才能计算,这个"拆包装"的过程往往成为性能瓶颈。传统CPU…...

VutronMusic:构建现代化跨平台音乐播放器的技术实现方案

VutronMusic:构建现代化跨平台音乐播放器的技术实现方案 【免费下载链接】VutronMusic 高颜值的第三方网易云播放器;支持流媒体音乐,如navidrome、jellyfin、emby;支持本地音乐播放、离线歌单、逐字歌词、桌面歌词、Touch Bar歌词…...

别再只会用`docker system prune`了!聊聊Docker磁盘清理的5个隐藏场景与实战命令

别再只会用docker system prune了!聊聊Docker磁盘清理的5个隐藏场景与实战命令 Docker作为现代开发与运维的核心工具,其便捷性背后往往隐藏着磁盘管理的复杂性。当docker system prune成为大多数人的清理"万能药"时,真正棘手的磁盘…...

2026某同城数据采集实战:图片验证码+短信轰炸防护全解析与避坑指南

最近帮朋友做一个房产数据分析项目,需要从某同城平台采集一些公开的房源信息。本以为是个简单的爬虫任务,结果踩了无数坑——从最基础的滑块验证到复杂的行为轨迹分析,从IP封禁到设备指纹检测,特别是他们今年刚升级的短信轰炸防护…...

从电影运镜到游戏镜头:手把手教你用Cinemachine实现高级镜头语言(含Dutch Angle等实战配置)

从电影运镜到游戏镜头:手把手教你用Cinemachine实现高级镜头语言(含Dutch Angle等实战配置) 在游戏开发中,镜头语言是叙事和情感表达的重要工具。就像电影导演通过精心设计的镜头来引导观众情绪一样,游戏开发者也可以…...

Burp Suite渗透测试工作流:从环境搭建到报告生成

1. 这不是“学个工具”,而是一套可复用的渗透工作流很多人点开“Burp Suite 入门”类教程,心里想的是:“装个插件、抓个包、改个参数,不就完事了?”——结果三天后连 repeater 怎么发 POST 请求都得翻笔记。我带过二十…...

射频集成电路中MIM电容与多晶硅电阻的建模与优化

1. MIM电容布局模型解析在射频集成电路设计中,金属-绝缘体-金属(MIM)电容因其高密度、高线性度和良好的匹配特性而成为关键被动元件。图14(a)展示了典型的MIM电容布局结构,采用上下金属层夹介质层的三明治结构。1.1 电容模型构成原…...

YgoMaster终极指南:如何在电脑上免费畅玩游戏王大师决斗

YgoMaster终极指南:如何在电脑上免费畅玩游戏王大师决斗 【免费下载链接】YgoMaster Offline Yu-Gi-Oh! Master Duel 项目地址: https://gitcode.com/gh_mirrors/yg/YgoMaster 你是否渴望随时随地体验《游戏王大师决斗》的精彩对决,却受限于网络连…...

JMeter分布式压测五大核心故障点与RMI通信调优指南

1. 为什么分布式压测不是“多开几台JMeter就能搞定”的事很多人第一次接触Jmeter分布式压测,脑子里浮现的画面是:主控机上点一下“启动”,十几台从机瞬间火力全开,TPS哗哗往上飙,监控曲线平滑漂亮——结果一跑起来&…...

AutoUnipus:终极U校园自动化答题解决方案,五分钟实现100%正确率

AutoUnipus:终极U校园自动化答题解决方案,五分钟实现100%正确率 【免费下载链接】AutoUnipus U校园脚本,支持全自动答题,百分百正确 2024最新版 项目地址: https://gitcode.com/gh_mirrors/au/AutoUnipus 还在为U校园平台重复枯燥的练习题烦恼吗&…...

5分钟掌握跨平台资源下载:res-downloader新手完整指南

5分钟掌握跨平台资源下载:res-downloader新手完整指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否经常…...

免费德州扑克GTO求解器终极指南:如何用Desktop Postflop提升你的扑克决策能力

免费德州扑克GTO求解器终极指南:如何用Desktop Postflop提升你的扑克决策能力 【免费下载链接】desktop-postflop [Development suspended] Advanced open-source Texas Holdem GTO solver with optimized performance 项目地址: https://gitcode.com/gh_mirrors/…...

LeetDown深度解析:如何让iPhone 5s/6等老设备重返iOS 10.3.3黄金时代

LeetDown深度解析:如何让iPhone 5s/6等老设备重返iOS 10.3.3黄金时代 【免费下载链接】LeetDown a macOS app that downgrades A6 and A7 iDevices to OTA signed firmwares 项目地址: https://gitcode.com/gh_mirrors/le/LeetDown 还记得iPhone 5s的Touch I…...

K12教师必读:用AI Agent 15分钟生成个性化学习路径(附可即用Prompt模板库)

更多请点击: https://codechina.net 第一章:AI Agent教育应用的范式变革 传统教育系统长期依赖“教师讲授—学生听记—统一测评”的线性模式,而AI Agent的兴起正推动教育从标准化供给转向个性化协同时代。AI Agent不再仅是知识检索工具或自动…...

大模型概念遗忘:SCUGP梯度投影实现精准神经外科手术

1. 项目概述:这不是“删除记忆”,而是给大模型做一次精准的神经外科手术“Who is Harry Potter?”——这个看似简单的问答,恰恰成了检验大模型“概念遗忘”能力的黄金测试题。微软研究院这篇论文标题里藏着一个反直觉的事实:他们…...

别再死记硬背了!用Multisim仿真软件,5分钟搞懂三极管放大电路的静态工作点设置与失真分析

用Multisim玩转三极管放大电路:静态工作点设置与失真分析实战指南 刚接触模拟电路时,三极管放大电路就像一道难以逾越的门槛。那些密密麻麻的公式、抽象的特性曲线,让多少电子工程专业的学生在深夜实验室里抓耳挠腮。但今天,我要告…...