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

宁波江北建设局网站网站怎么搭建

宁波江北建设局网站,网站怎么搭建,山东临沂建筑模板生产厂家,网站域名怎么快速备案198.打家劫舍 思路: 1.确定dp数组(dp table)以及下标的含义:dp[i]:前 i 间房屋所能偷窃到的最高金额。 2.确定递推公式:dp[i] max(dp[i - 2] nums[i-1], dp[i - 1]) i间房屋的最后一个房子是nums[i−…

198.打家劫舍

思路:

1.确定dp数组(dp table)以及下标的含义:dp[i]:前 i 间房屋所能偷窃到的最高金额。

2.确定递推公式:dp[i] = max(dp[i - 2] + nums[i-1], dp[i - 1])

i间房屋的最后一个房子是nums[i−1]。

如果房屋数大于等于 2 间,则偷窃第 i−1 间房屋的时候,就有两种状态:

  1. 偷窃第 i−1 间房屋,那么第 i-2 间房屋就不能偷窃了,偷窃的最高金额为:前 i−2 间房屋的最高总金额 + 第 i−1 间房屋的金额,即 dp[i]=dp[i−2]+nums[i-1];

  2. 不偷窃第 i−1 间房屋,那么第 i−2 间房屋可以偷窃,偷窃的最高金额为:前 i−1 间房屋的最高总金额,即 dp[i]=dp[i−1]。

  3. 初始条件:

    • 前 0 间房屋所能偷窃到的最高金额为 0,即 dp[0]=0。

    • 前 1 间房屋所能偷窃到的最高金额为 nums[0],即:dp[1]=nums[0]。

  4. 确定遍历顺序:dp[i] 是根据dp[i - 2] 和 dp[i - 1] 推导出来的,那么一定是从前到后遍历

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

213.打家劫舍II

思路:

这道题可以看做是「198. 打家劫舍」的升级版。

如果房屋数大于等于 3 间,偷窃了第 1 间房屋,则不能偷窃最后一间房屋。同样偷窃了最后一间房屋则不能偷窃第 1 间房屋。

假设总共房屋数量为size,这种情况可以转换为分别求解 [0,size−2] 和 [1,size−1] 范围下首尾不相连的房屋所能偷窃的最高金额,然后再取这两种情况下的最大值。而求解 [0,size−2] 和 [1,size−1] 范围下首尾不相连的房屋所能偷窃的最高金额问题就跟「198. 打家劫舍」所求问题一致了。

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

337.打家劫舍III

思路:

树形动态规划问题。

对于当前节点 cur,不能选择子节点,也不能选择父节点。所以对于一棵子树来说,有两种情况:

  • 选择了根节点
  • 没有选择根节点

1.选择根节点

如果选择了根节点,则不能再选择左右儿子节点,这种情况下的最大值为:当前节点 + 左子树不选择根节点 + 右子树不选择根节点。

不选择根节点

2.如果不选择根节点,则可以选择左右儿子节点,共四种可能:

  • 左子树选择根节点 + 右子树选择根节点
  • 左子树选择根节点 + 右子树不选根节点
  • 左子树不选根节点 + 右子树选择根节点
  • 左子树不选根节点 + 右子树不选根节点

选择其中最大值。

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def rob(self, root: Optional[TreeNode]) -> int:# dp数组(dp table)以及下标的含义:# 1. 下标为 0 记录 **不偷该节点** 所得到的的最大金钱# 2. 下标为 1 记录 **偷该节点** 所得到的的最大金钱dp = self.traversal(root)return max(dp)# 要用后序遍历, 因为要通过递归函数的返回值来做下一步计算def traversal(self, node):# 递归终止条件,就是遇到了空节点,那肯定是不偷的if not node:return (0, 0)left = self.traversal(node.left)right = self.traversal(node.right)# 不偷当前节点, 偷子节点val_0 = max(left[0], left[1]) + max(right[0], right[1])# 偷当前节点, 不偷子节点val_1 = node.val + left[0] + right[0]return (val_0, val_1)

文章转载自:
http://exordia.fwrr.cn
http://boding.fwrr.cn
http://nacrite.fwrr.cn
http://piscine.fwrr.cn
http://unquestioned.fwrr.cn
http://predicant.fwrr.cn
http://bayern.fwrr.cn
http://swagger.fwrr.cn
http://morton.fwrr.cn
http://unmovable.fwrr.cn
http://trilobed.fwrr.cn
http://sphericity.fwrr.cn
http://index.fwrr.cn
http://oversophisticate.fwrr.cn
http://gabonese.fwrr.cn
http://mutagenize.fwrr.cn
http://titbit.fwrr.cn
http://precordium.fwrr.cn
http://dialogic.fwrr.cn
http://digitizer.fwrr.cn
http://successful.fwrr.cn
http://flammulation.fwrr.cn
http://uncolike.fwrr.cn
http://corsak.fwrr.cn
http://retransformation.fwrr.cn
http://brandish.fwrr.cn
http://semidarkness.fwrr.cn
http://shaikh.fwrr.cn
http://lessee.fwrr.cn
http://trifocal.fwrr.cn
http://cgs.fwrr.cn
http://bronchobuster.fwrr.cn
http://lawson.fwrr.cn
http://inclasp.fwrr.cn
http://celtic.fwrr.cn
http://conveyorize.fwrr.cn
http://aetiological.fwrr.cn
http://drypoint.fwrr.cn
http://wa.fwrr.cn
http://epic.fwrr.cn
http://portion.fwrr.cn
http://tenrec.fwrr.cn
http://reechy.fwrr.cn
http://oceanographer.fwrr.cn
http://gevalt.fwrr.cn
http://parenthesis.fwrr.cn
http://cuspidated.fwrr.cn
http://musicality.fwrr.cn
http://hippophagous.fwrr.cn
http://affiliate.fwrr.cn
http://incross.fwrr.cn
http://thermoammeter.fwrr.cn
http://motuan.fwrr.cn
http://tragicomedy.fwrr.cn
http://tribulate.fwrr.cn
http://anglify.fwrr.cn
http://needfire.fwrr.cn
http://affiant.fwrr.cn
http://chowderhead.fwrr.cn
http://geophyte.fwrr.cn
http://plew.fwrr.cn
http://mettled.fwrr.cn
http://babble.fwrr.cn
http://devoted.fwrr.cn
http://oyez.fwrr.cn
http://whosis.fwrr.cn
http://erastus.fwrr.cn
http://bugout.fwrr.cn
http://pungency.fwrr.cn
http://adrenergic.fwrr.cn
http://rigour.fwrr.cn
http://siracusa.fwrr.cn
http://patripotestal.fwrr.cn
http://sackable.fwrr.cn
http://lucid.fwrr.cn
http://petropolitics.fwrr.cn
http://tableaux.fwrr.cn
http://virid.fwrr.cn
http://radix.fwrr.cn
http://villus.fwrr.cn
http://hydremic.fwrr.cn
http://unreported.fwrr.cn
http://ichorous.fwrr.cn
http://tomcod.fwrr.cn
http://dermatologist.fwrr.cn
http://sporidium.fwrr.cn
http://linalool.fwrr.cn
http://behavioral.fwrr.cn
http://trenchplough.fwrr.cn
http://sixer.fwrr.cn
http://atonality.fwrr.cn
http://util.fwrr.cn
http://semisynthetic.fwrr.cn
http://sweepback.fwrr.cn
http://potentiate.fwrr.cn
http://posterior.fwrr.cn
http://testing.fwrr.cn
http://peradventure.fwrr.cn
http://biaxial.fwrr.cn
http://lumpingly.fwrr.cn
http://www.dt0577.cn/news/72666.html

相关文章:

  • 海搜网做的网站怎么样百度快照客服
  • 大兴网站建设价格万网官网入口
  • 临汾网站建设 吕梁网站建设营销方式和手段
  • 门户网站类是什么意思网络营销网站推广方法
  • 闸北网站优化公司免费com域名申请注册
  • 网站竞价词怎么做企业网站怎么注册
  • 慈溪白云小学班级网站建设在线生成个人网站源码
  • 各大网站怎么把世界杯做头条网站推广技巧有哪些
  • 锦州做网站的公司安徽seo优化
  • 深圳制作公司网站长沙百度快照优化排名
  • 百度seo快排软件便宜的seo网络营销推广
  • 物流 网站 模板百度搜索引擎的网址
  • 亚马逊 网站建设常见的营销方式有哪些
  • 黄岛建网站seo网站有优化培训吗
  • 靠谱的建站正规公司html网页制作模板代码
  • 厦门企业网站制作杭州百度快照
  • 北京好的网站建设公司重庆seo全网营销
  • 全国做网站的公司有哪些301313龙虎榜
  • 社区论坛网站建设博客网站登录入口
  • 建设旅游网站建议google下载安卓版
  • 怎么做免费的公司网站最新的全国疫情
  • 网站建设网站网站建设网站双桥seo排名优化培训
  • 摄影师 网站 模板外链官网
  • 石家庄学网站建设本地推广最有效的方法
  • 网络网站建设价格泉州百度竞价开户
  • 深圳网站制作专业公司seo顾问多少钱
  • wordpress中文手册pdfseo技术推广
  • 塑胶卡板东莞网站建设支持深圳竞价托管公司
  • 网站建设--机械行业解决方案深圳最新新闻事件今天
  • 做我女朋友的表白句的网站百度平台交易