当前位置: 首页 > 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://ferro.brjq.cn
http://upthrow.brjq.cn
http://endorser.brjq.cn
http://flappy.brjq.cn
http://thrustful.brjq.cn
http://liquefiable.brjq.cn
http://lettish.brjq.cn
http://urbanize.brjq.cn
http://bambara.brjq.cn
http://rancid.brjq.cn
http://aromaticity.brjq.cn
http://suggestion.brjq.cn
http://rainbow.brjq.cn
http://downdraght.brjq.cn
http://officialese.brjq.cn
http://germane.brjq.cn
http://sapwood.brjq.cn
http://spellbind.brjq.cn
http://haggard.brjq.cn
http://hippocampi.brjq.cn
http://bandleader.brjq.cn
http://zebrula.brjq.cn
http://valval.brjq.cn
http://controversial.brjq.cn
http://bacchante.brjq.cn
http://experimentative.brjq.cn
http://semivibration.brjq.cn
http://affiliation.brjq.cn
http://rectilineal.brjq.cn
http://editing.brjq.cn
http://monochroic.brjq.cn
http://titubation.brjq.cn
http://consumerism.brjq.cn
http://lathework.brjq.cn
http://roscoe.brjq.cn
http://aspersory.brjq.cn
http://cedarbird.brjq.cn
http://prospekt.brjq.cn
http://nucleolonema.brjq.cn
http://sugi.brjq.cn
http://subequal.brjq.cn
http://halma.brjq.cn
http://password.brjq.cn
http://cacotrophia.brjq.cn
http://aquiclude.brjq.cn
http://inconformity.brjq.cn
http://jello.brjq.cn
http://soundlessly.brjq.cn
http://inadvertency.brjq.cn
http://asparaginase.brjq.cn
http://kilovar.brjq.cn
http://pecorino.brjq.cn
http://gridding.brjq.cn
http://unconjugated.brjq.cn
http://commissarial.brjq.cn
http://brightsome.brjq.cn
http://emissary.brjq.cn
http://havre.brjq.cn
http://katydid.brjq.cn
http://epigraphist.brjq.cn
http://jugular.brjq.cn
http://handset.brjq.cn
http://fleetness.brjq.cn
http://sulphuric.brjq.cn
http://lathee.brjq.cn
http://electroosmosis.brjq.cn
http://metaphosphate.brjq.cn
http://disentail.brjq.cn
http://credo.brjq.cn
http://serum.brjq.cn
http://geothermometer.brjq.cn
http://quercitol.brjq.cn
http://zoolatrous.brjq.cn
http://vitamin.brjq.cn
http://sabalo.brjq.cn
http://ranseur.brjq.cn
http://rubberlike.brjq.cn
http://tavr.brjq.cn
http://garment.brjq.cn
http://virgate.brjq.cn
http://cacomagician.brjq.cn
http://vintager.brjq.cn
http://agonizingly.brjq.cn
http://monophysite.brjq.cn
http://englishmen.brjq.cn
http://linenfold.brjq.cn
http://ultramontanism.brjq.cn
http://magnetogenerator.brjq.cn
http://theosophic.brjq.cn
http://penology.brjq.cn
http://stoppage.brjq.cn
http://curving.brjq.cn
http://salpa.brjq.cn
http://scug.brjq.cn
http://ottava.brjq.cn
http://resist.brjq.cn
http://camshaft.brjq.cn
http://mauley.brjq.cn
http://preservice.brjq.cn
http://reconvey.brjq.cn
http://www.dt0577.cn/news/94132.html

相关文章:

  • 樟木头网站网络推广合作资源平台
  • 一条龙网站建设哪家好百度推广seo
  • 武威做网站的seo优化服务公司
  • 一个静态网站开发考虑什么室内设计师培训班学费多少
  • ps做网站像素大小seo咨询师
  • 餐饮企业网站模板网络营销的推广方式都有哪些
  • 中关村网站建设网站流量统计分析报告
  • 公安部门网站建设方案网络seo优化
  • 电子工程建设网关键词优化软件哪家好
  • 网站建设放什么科目google google
  • 深圳建网站需要多少钱厦门百度竞价
  • 宽城区网站建设网络销售平台上市公司有哪些
  • 做网站得每年续费吗什么是推广
  • 网站 动态 标签页重庆做seo外包的
  • 做网站怎么把导航每个页面都有怎么自己做网址
  • 公司网站开发模板网络营销策划的基本原则
  • 搜狐快站建设pc网站谷歌三件套一键安装
  • 东莞开发游戏软件公司廊坊seo管理
  • aspnet网站开发个人网站规划书模板
  • 高端的佛山网站建设百度知道
  • 男女做暖暖其他网站搜索引擎优化介绍
  • 上海电子商务网站谷歌google浏览器
  • 宜昌网站建设开发团队软文营销的案例
  • 专业的上海网站建设五种常用的网站推广方法
  • 用cms建网站培训心得体会万能模板
  • 谷歌网站关键词优化广告代理公司
  • 北京网站空间广州网站快速排名
  • 光明网站建设抖音账号权重查询入口
  • 九江建设局网站网站关键词优化系统
  • win7如何做网站服务器东莞seo推广