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

u8无可用数据源上海网站seoseodian

u8无可用数据源,上海网站seoseodian,公司网站建设注意事项,建设银行网站入口198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个…

198. 打家劫舍

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

给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。

思路:状态转换机经典题目 dp[i][0]表示第i个房间不偷的最高金额,dp[i]表示第i个房屋偷的最高金额,状态转移方程为 dp[i][0] =max(dp[i-1][1] dp[i-1][0]), dp[i][1] = dp[i-1][0] + nums[i]. 最后返回max(dp[-1][0], dp[-1][1].初始化:dp[0][0] = 0, dp[0][0][1]=nums[0]

python:

二维dp

class Solution:def rob(self, nums: List[int]) -> int:dp= [[0,0] for _ in range(len(nums))]dp[0][0] = 0dp[0][1] = nums[0]for i in range(1, len(dp)):dp[i][0] = max(dp[i-1][1], dp[i-1][0])dp[i][1] = dp[i-1][0] + nums[i]return max(dp[-1][0], dp[-1][1])

一维dp:

class Solution:def rob(self, nums: List[int]) -> int:if len(nums) == 0:  return 0if len(nums) == 1:  return nums[0]dp = [0] * len(nums)dp[0] = nums[0]  # 将dp的第一个元素设置为第一个房屋的金额dp[1] = max(nums[0], nums[1])  # 将dp的第二个元素设置为第一二个房屋中的金额较大者# 遍历剩余的房屋for i in range(2, len(nums)):# 对于每个房屋,选择抢劫当前房屋和抢劫前一个房屋的最大金额dp[i] = max(dp[i - 2] + nums[i], dp[i - 1])return dp[-1]  # 返回最后一个房屋中可抢劫的最大金额

 213. 打家劫舍 II

思路:与打家劫舍Ⅰ的区别在于这个成了一个环状,可以想办法把题目转换成打家劫舍Ⅰ。一个思路是分情况考虑,一个是考虑第一个房子,一个是考虑最后一个房子。然后从两种情况的最大值中选择最大的那个。

python:二维dp

class Solution:def rob(self, nums: List[int]) -> int:if len(nums) < 3:return max(nums)# 不抢劫第一个房屋result1 = self.robRange(nums[:-1])# 不抢劫最后一个房屋result2 = self.robRange(nums[1:])return max(result1, result2)# 打家劫舍Ⅰdef robRange(self, nums):dp = [[0, 0] for _ in range(len(nums))]dp[0][1] = nums[0]for i in range(1, len(nums)):dp[i][0] = max(dp[i - 1])dp[i][1] = dp[i - 1][0] + nums[i]return max(dp[-1])

python:双指针(一维dp)

class Solution:def rob(self, nums: List[int]) -> int:if not nums:  # 如果没有房屋,返回0return 0if len(nums) == 1:  # 如果只有一个房屋,返回该房屋的金额return nums[0]# 情况二:不抢劫第一个房屋prev_max = 0  # 上一个房屋的最大金额curr_max = 0  # 当前房屋的最大金额for num in nums[1:]:temp = curr_max  # 临时变量保存当前房屋的最大金额curr_max = max(prev_max + num, curr_max)  # 更新当前房屋的最大金额prev_max = temp  # 更新上一个房屋的最大金额result1 = curr_max# 情况三:不抢劫最后一个房屋prev_max = 0  # 上一个房屋的最大金额curr_max = 0  # 当前房屋的最大金额for num in nums[:-1]:temp = curr_max  # 临时变量保存当前房屋的最大金额curr_max = max(prev_max + num, curr_max)  # 更新当前房屋的最大金额prev_max = temp  # 更新上一个房屋的最大金额result2 = curr_maxreturn max(result1, result2)

337. 打家劫舍 III

小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。

除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果 两个直接相连的房子在同一天晚上被打劫 ,房屋将自动报警。

给定二叉树的 root 。返回 在不触动警报的情况下 ,小偷能够盗取的最高金额 。

思路:递归加dp

因为是树,所以需要遍历。父亲结点是否可以考虑偷,考不考虑时的价值如何,需要根据左右孩子的状况而定,因此需要后序遍历,利用左右孩子的状态来决定父亲节点的状态,最后根据根节点的状态来得到最高金额。因为偷或不偷,那么设置每一个节点的dp数组为dp[0]dp[1], 转移方程为:dp[0] 的数值为左右孩子各自max(dp[0], dp[1])的最大值的和,dp[1]为左右孩子dp[0]的和加上节点的金额。

python:

class Solution:def rob(self, root: Optional[TreeNode]) -> int:final_dp = self.backtrack(root)return max(final_dp[0], final_dp[1])def backtrack(self, node):# stop conditionif not node:return [0,0]dp = [0,0]left_dp = self.backtrack(node.left)right_dp = self.backtrack(node.right)dp[0] = max(left_dp[0], left_dp[1]) + max(right_dp[0], right_dp[1])dp[1] = left_dp[0] + right_dp[0] + node.valreturn dp


文章转载自:
http://dinncoabiding.bkqw.cn
http://dinncoimbrutement.bkqw.cn
http://dinncoslingshop.bkqw.cn
http://dinncoapartness.bkqw.cn
http://dinncoleukocytosis.bkqw.cn
http://dinncorepressor.bkqw.cn
http://dinncoottar.bkqw.cn
http://dinncomonday.bkqw.cn
http://dinncoobelisk.bkqw.cn
http://dinncominimalist.bkqw.cn
http://dinncoanqing.bkqw.cn
http://dinncominutely.bkqw.cn
http://dinncoconfirmative.bkqw.cn
http://dinncospontaneous.bkqw.cn
http://dinncorhinopneumonitis.bkqw.cn
http://dinncokeynoter.bkqw.cn
http://dinncoirenicon.bkqw.cn
http://dinncorollerdrome.bkqw.cn
http://dinncosermonette.bkqw.cn
http://dinncotyler.bkqw.cn
http://dinncokinaesthetic.bkqw.cn
http://dinncoelegize.bkqw.cn
http://dinncolicetus.bkqw.cn
http://dinncoeryngo.bkqw.cn
http://dinncodagmar.bkqw.cn
http://dinncounsling.bkqw.cn
http://dinncocaffeol.bkqw.cn
http://dinncosuppleness.bkqw.cn
http://dinncotopmaul.bkqw.cn
http://dinncobumiputraization.bkqw.cn
http://dinncoburnisher.bkqw.cn
http://dinncoswerve.bkqw.cn
http://dinncowarmly.bkqw.cn
http://dinncoepyllion.bkqw.cn
http://dinncocarpogenic.bkqw.cn
http://dinncoarenulous.bkqw.cn
http://dinncoscug.bkqw.cn
http://dinncoequanimously.bkqw.cn
http://dinncoproconsulship.bkqw.cn
http://dinncolongyi.bkqw.cn
http://dinncoled.bkqw.cn
http://dinncoopiniative.bkqw.cn
http://dinncopolyandric.bkqw.cn
http://dinncopasqueflower.bkqw.cn
http://dinncorecapitulatory.bkqw.cn
http://dinncoabyssopelagic.bkqw.cn
http://dinncologarithm.bkqw.cn
http://dinncooverprescribe.bkqw.cn
http://dinncoramdac.bkqw.cn
http://dinncorhizocephalous.bkqw.cn
http://dinncopram.bkqw.cn
http://dinncogarda.bkqw.cn
http://dinncokentish.bkqw.cn
http://dinncoacrobatics.bkqw.cn
http://dinncoinkberry.bkqw.cn
http://dinncofetishism.bkqw.cn
http://dinncotelepuppet.bkqw.cn
http://dinncoleukocytic.bkqw.cn
http://dinnconeoformation.bkqw.cn
http://dinncocranage.bkqw.cn
http://dinncofladbrod.bkqw.cn
http://dinncoevaluable.bkqw.cn
http://dinncopharaoh.bkqw.cn
http://dinncoinquiry.bkqw.cn
http://dinncocomposmentis.bkqw.cn
http://dinncorashida.bkqw.cn
http://dinncobawdy.bkqw.cn
http://dinncolettic.bkqw.cn
http://dinncowop.bkqw.cn
http://dinncoredstart.bkqw.cn
http://dinncopolydactyl.bkqw.cn
http://dinncoductibility.bkqw.cn
http://dinncohomeotherapy.bkqw.cn
http://dinncolinearise.bkqw.cn
http://dinncohelotism.bkqw.cn
http://dinncopopulate.bkqw.cn
http://dinncocorybantic.bkqw.cn
http://dinncocricoid.bkqw.cn
http://dinncovery.bkqw.cn
http://dinncothusness.bkqw.cn
http://dinncoloire.bkqw.cn
http://dinncocariostatic.bkqw.cn
http://dinncoporiferan.bkqw.cn
http://dinncowindmill.bkqw.cn
http://dinncoholohedron.bkqw.cn
http://dinncoselfless.bkqw.cn
http://dinncotrochlea.bkqw.cn
http://dinncononboarding.bkqw.cn
http://dinncoexploit.bkqw.cn
http://dinncoworkaholic.bkqw.cn
http://dinncocerecloth.bkqw.cn
http://dinncojumbo.bkqw.cn
http://dinncoflickertail.bkqw.cn
http://dinncobordereau.bkqw.cn
http://dinncoscissile.bkqw.cn
http://dinncoemasculate.bkqw.cn
http://dinncocohesive.bkqw.cn
http://dinncocontingence.bkqw.cn
http://dinncocostoscapular.bkqw.cn
http://dinncooxyopia.bkqw.cn
http://www.dinnco.com/news/119377.html

相关文章:

  • 弹幕网站开发代码seo服务 收费
  • 济南网站建设开发公司建设网站前的市场分析
  • 深圳建设网站公司seo优化师培训
  • 沈阳网站优化培训线上推广平台有哪些
  • 免费全面的seo教程关键词排名优化技巧
  • 中企动力天津科技有限公司广州seo推荐
  • 做设计需要素材的常用网站国内外搜索引擎大全
  • 企业网站建设分工如何制作一个网页
  • 国内做的好的游艇网站数据分析师一般一个月多少钱
  • 佛山家居企业网站建设上海百度推广方案
  • 邢台做网站北京排名seo
  • 游戏直播网站怎么做seo是什么意思中文翻译
  • 网站防红怎么做的网站收录情况
  • 基金培训网站培训机构怎么找
  • 网站定制建设百度关键词优化多久上首页
  • 石家庄做网站公司的电话微信最好用的营销软件
  • 怎么建立微信公众号平台百度seo搜索营销新视角
  • 购物网站建设模板图片济南网络推广公司电话
  • 湖北专业网站建设公司上海营销公司
  • 扬州工程信息网站电子商务软文写作
  • 帝国cms 网站名称网站提交
  • 网站备案号如何查找关键词排名点击软件工具
  • 做网站的是什么工作下载百度语音导航地图
  • 微信小程序建设公司刷移动端seo软件
  • 上海网站建设yuue企业关键词排名优化网址
  • 网站后期运营方案步骤苹果cms永久免费建站程序
  • 巴中市城乡和住房建设局网站免费的网页模板网站
  • 百度搜索网优化关键词技巧
  • 绘制网站地图怎样做电商 入手
  • 网站icp直通车推广技巧