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

c 网站开发面试题/关键词组合工具

c 网站开发面试题,关键词组合工具,赣州网站建设好么,南海做网站1. 问题描述: 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,…

1. 问题描述:

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下 ,能够偷窃到的最高金额。

示例 1:

输入:nums = [2,3,2]
输出:3
解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。

示例 2:

输入:nums = [1,2,3,1]
输出:4
解释:你可以先偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。

示例 3:

输入:nums = [0]
输出:0

提示:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 1000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/house-robber-ii

2. 思路分析:

这道题目与力扣中198题是类似的,这里就多了一个环的条件,所以我们不能够同时偷第一个房间与最后一个房间,需要分两类进行讨论,第一类是不偷第一个房间,第二类是不偷最后一个房间,不偷第一个房间的时候dp[0] = 0, dp[1] = nums[1],这个时候递推公式为:dp[i] = max(dp[i - 2] + nums[i], dp[i - 1]),第二类是不偷最后一个房间那么dp[0] = nums[0],dp[1] = max(nums[0], nums[1]),循环的长度到nums数组的长度减1,这个时候递推公式也为:dp[i] = max(dp[i - 2] + nums[i], dp[i - 1]),与之前198题是一样的递推公式,当遍历完两遍之后得到不偷第一个房间与不偷最后一个房间的最大金额返回即可,多出一个环分两类讨论即可

3. 代码如下:

from typing import Listclass Solution:def rob(self, nums: List[int]) -> int:if len(nums) == 0: return 0if len(nums) <= 2: return max(nums)# 不偷第一个房间或者是不偷最后一个房间: 所以需要两次遍历得出dp数组的较大值dp = [0] * len(nums)# 不偷第一个房间dp[1] = nums[1]for i in range(2, len(nums)):dp[i] = max(dp[i - 2] + nums[i], dp[i - 1])res = dp[len(nums) - 1]# 不偷最后一个房间dp = [0] * len(nums)dp[0], dp[1] = nums[0], max(nums[0], nums[1])for i in range(2, len(nums) - 1):dp[i] = max(dp[i - 2] + nums[i], dp[i - 1])res = max(res, dp[len(nums) - 2])return res

 

http://www.lbrq.cn/news/972091.html

相关文章:

  • 半导体网站建设/2022年关键词排名
  • 多少人用wordpress/网站优化关键词
  • 做婚恋网站多少钱/个人网站设计毕业论文
  • 网站pv是什么/深圳网络推广收费标准
  • 北京网页设计制作网站/seo职业技能培训班
  • 北京商场几点开门/长春seo代理
  • 世界建设企业网站/seo关键词优化举例
  • 上海营销型网站建设平台/沈阳百度推广排名优化
  • 如何做app 的模板下载网站/搜索引擎优化推广
  • 网站的后台是怎么做的/哪有恶意点击软件买的
  • 专业做中文网站/公众号怎么做文章推广
  • 青岛专业建设网站/西安seo包年服务
  • WordPress集成插件/淘宝优化标题都是用什么软件
  • 网站开发前端需要学什么/优化服务内容
  • 让孩子学编程真是害了孩子/合肥百度推广排名优化
  • 仿做赌博网站/太原网站推广公司
  • 网站后台添加关键词/资源网
  • 宝塔可以做二级域名网站么/网络推广外包流程
  • php做音乐网站/百度seo关键词优化电话
  • 网络规划设计师5天修炼下载/网络推广的调整和优化
  • 哪个网站做的win10系统/怎么去推广自己的网站
  • 8黄页网站建设/广告公司主要做什么
  • 用java做网站好吗/公司网站排名
  • 东莞seo关键字优化/seo技术教学视频
  • 旅游网站开发项目策划书/站长工具pr值查询
  • 长沙百度网站制作/素材网
  • 网站关键字优化地点/市场营销方案范文
  • 协会网站建设目的/头条新闻今日头条
  • 最专业的做网站公司/每日新闻摘抄10一15字
  • wordpress 菜单 分隔/semseo是什么意思
  • LeetCode--46.全排列
  • 学习C++、QT---26(QT中实现记事本项目实现文件路径的提示、现在我们来学习一下C++类模板、记事本的行高亮的操作的讲解)
  • Kafka与Flink打造流式数据采集方案:以二手房信息为例
  • 邮件伪造漏洞
  • springboot 好处
  • 打破空间边界!Nas-Cab用模块化设计重构个人存储逻辑