Python3实现打家劫舍问题
Python3实现打家劫舍问题
原题 https://leetcode-cn.com/problems/house-robber/
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。
示例 1:
输入: [1,2,3,1]
输出: 4
解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。
示例 2:
输入: [2,7,9,3,1]
输出: 12
解释: 偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。偷窃到的最高金额 = 2 + 9 + 1 = 12 。
解题:
class Solution:def rob(self, nums: List[int]) -> int:n = len(nums)if n == 0:return 0if n == 1:return nums[0]if n == 2:return max(nums[0], nums[1])e0 = 0e1 = nums[0]e2 = max(nums[0], nums[1]) #动态规划思路,但是只需要3个中间值for i in range(3, n + 1):e0, e1, e2 = e1, e2, max(nums[i-1] + e1, nums[i-2] + e0)return e2
Python3实现打家劫舍问题相关推荐
- pip 无法卸载 pillow 解决方案 Not uninstalling pillow at /usr/lib/python3/dist-packages
1. 问题现象 使用 pip 卸载 pillow 时无法卸载,报如下错误: $ sudo pip3 uninstall pillow Not uninstalling pillow at /usr/l ...
- Python2 与 Python3 区别
Python2.x 与 Python3.x 区别 1. print 函数 Python2 中 print 是语句(statement),Python3 中 print 则变成了函数.在 Python3 ...
- Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建
Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建 一.Anaconda 创建 python3.7环境 1.进入 C:\Users\用户名 目录下,找到 ...
- python2转python3文件
python37 -m 2to3.py -w C:\Users\Administrator\Desktop\搜狗细胞词库处理.py 命令 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA ...
- Python3:ImportError: No module named 'compiler.ast'
from compiler.ast import flatten 上面这条语句好像在python3 以后就废除了,如果使用的话就会报错. Traceback (most recent call las ...
- 安装win下的Anaconda ----针对python3.6.4版本
我的python版本是3.6.4, Anaconda下载地址: Anaconda官网:https://repo.anaconda.com/archive/ 清华大学镜像站:https://mirror ...
- Python3 reversed 函数
描述 reversed 函数返回一个反转的迭代器. 语法 以下是 reversed 的语法: reversed(seq)(seq) 参数 seq -- 要转换的序列,可以是 tuple, string ...
- Python3 try-except、raise和assert解析
20220221 案例 def product(x):result = 1print(x)count = 0for i in x:try:result *= float(i)except Except ...
- Windows10+anaconda,python3.5, 安装glove-python
Windows10+anaconda,python3.5, 安装glove-python 安装glove 安装之前 Visual C++ 2015 Build Tools 开始安装 安装glove 最 ...
最新文章
- 写代码可能是成为软件工程师最容易的部分
- 你还不会创建jQuery插件 ?
- BST(Binary Search Tree 二叉查找树模版)
- RUNOOB python练习题6 斐波那契数列
- 泡着枸杞写bug的三流程序员凭什么逆袭到一线大厂?
- 任务58:19-尚硅谷-Java语言基础-String类型变量的使用
- Atitit.单向sso 单点登录的设计与实现
- Redis异常JedisConnectionException:Read timed out解决笔记
- 阿里矢量图标库彩色图标(Symbol 引用)
- postgresql树形结构查询
- OutLook邮件中设计添加个性签名
- 静态HTML网页设计作品:旅游网站设计——开心旅游网(15页) HTML+CSS+JavaScript 主题度假酒店
- python连接S3
- FrameMaker从零到学习编码
- 实战:618/双11大促备战全流程点点滴滴
- API网关之Kong初识
- Python PyAutoGUI和Pywinauto区别及安装
- Java获取24小时之前的时间点
- 360手机刷机救砖:QGDP360手机全支持;360手机N5、N5S、N6、N6Lite、N6PRO、N7、N7Lite、N7PRO
- 修改注册表(设置首页)
热门文章
- javadoc maven_创建Maven源代码和Javadoc工件
- 6个您需要了解的日志管理工具(以及如何使用它们)
- maven使用testng_使用Maven Failsafe和TestNG分别运行单元测试和集成测试
- jaxb 命名空间_在JAXB解组期间应用名称空间
- Spring Integration完整示例
- 如何优化Hibernate EllementCollection语句
- Java Web App体系结构
- 具有Overlord的WildFly 8.1中的API管理
- 在Spring MVC应用程序中使用Bean Validation 1.1获得更好的错误消息
- 工厂设计模式–一种有效的方法