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

企业微信app下载安装官方最新版苏州seo

企业微信app下载安装官方最新版,苏州seo,成人大专有必要上吗,简单建设企业办公网站题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下…

题目难度: 中等

原题链接

今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~

题目描述

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。

问总共有多少条不同的路径?

示例 1:

  • 输入:m = 3, n = 7
  • 输出:28

示例 2:

  • 输入:m = 3, n = 2
  • 输出:3
  • 解释:从左上角开始,总共有 3 条路径可以到达右下角。
    1. 向右 -> 向下 -> 向下
    2. 向下 -> 向下 -> 向右
    3. 向下 -> 向右 -> 向下

示例 3:

  • 输入:m = 7, n = 3
  • 输出:28

示例 4:

  • 输入:m = 3, n = 3
  • 输出:6

提示:

  • 1 <= m, n <= 100
  • 题目数据保证答案小于等于 2 * 10^9

题目思考

  1. 如何优化时间和空间复杂度?

解决方案

方法 1

  • 分析题目, 机器人只能向下或向右移动, 我们可以利用这一点, 累加当前坐标的左边和上边相邻坐标的路径数来得到当前坐标的路径数
  • 显然这就是动态规划的思路:
    • dp[r][c] 代表坐标(r,c)的路径数
    • 初始化 dp[0][0] = 1, 其他值全是 0, 表示开始时起点的路径数为 1
    • 然后进行状态转移: dp[r][c] = dp[r-1][c] + dp[r][c-1] (如果 r 或 c 为 0, 则相应的 r-1 或 c-1 的 dp 值就是 0, 只能从另一个方向转移而来)
    • 最终右下角坐标的 dp[m-1][n-1] 就代表总路径数
  • 下面的代码有详细的注释, 方便大家理解
复杂度
  • 时间复杂度 O(MN): 需要两重循环求 DP 值
  • 空间复杂度 O(MN): 二维 DP 数组的空间消耗
代码
class Solution:def uniquePaths(self, m: int, n: int) -> int:dp = [[0] * n for _ in range(m)]for r in range(m):for c in range(n):if (r, c) == (0, 0):# 起点dp值初始化为1dp[r][c] = 1else:# 左侧邻居路径数, 不存在时为0ldp = 0 if c == 0 else dp[r][c - 1]# 上侧邻居路径数, 不存在时为0udp = 0 if r == 0 else dp[r - 1][c]# 累加两个邻居的路径数dp[r][c] = ldp + udp# 最终结果就是右下角路径数return dp[m - 1][n - 1]

方法 2

  • 上面的 DP 做法固然可以解决这个问题, 那是否可以继续优化呢?
  • 答案是肯定的, 我们从另一个角度来思考这个问题, 机器人一共移动 m+n-2 次, 然后每次移动要么向下, 要么向右, 一共向下移动 m-1 次, 向右移动 n-1 次
  • 相当于从总移动次数 m+n-2 中选取 m-1 个, 我们可以利用数学求组合数的方法, 也即 C(m+n-2, m-1), 得到的值就是对应的总路径数
  • 这里可以额外进行一些优化, 使用 m 和 n 中的较小值来计算组合数, 对应的时间复杂度也是两者的较小值
  • 下面的代码有详细的注释, 方便大家理解
复杂度
  • 时间复杂度 O(min(M,N)): 求组合数时需要累乘 M-1 或 N-1 次, 取两者较小值
  • 空间复杂度 O(1): 没有使用额外变量
代码
class Solution:def uniquePaths(self, m: int, n: int) -> int:# 共有m+n-2次移动, 然后从中选择m-1次向下, 剩下n-1次向右# 所以总路径数就是组合数C(m+n-2,m-1) (也等于C(m+n-2,n-1))# 额外优化, 使用m和n的较小值来计算组合数mn = min(m, n)return math.comb(m + n - 2, mn - 1)

大家可以在下面这些地方找到我~😊

我的 GitHub

我的 Leetcode

我的 CSDN

我的知乎专栏

我的头条号

我的牛客网博客

我的公众号: 算法精选, 欢迎大家扫码关注~😊

算法精选 - 微信扫一扫关注我


文章转载自:
http://congressite.tzmc.cn
http://perchloride.tzmc.cn
http://spontaneity.tzmc.cn
http://bilharzia.tzmc.cn
http://gingerbready.tzmc.cn
http://temptation.tzmc.cn
http://upper.tzmc.cn
http://implication.tzmc.cn
http://remasticate.tzmc.cn
http://mantis.tzmc.cn
http://gimmie.tzmc.cn
http://microelement.tzmc.cn
http://unmentioned.tzmc.cn
http://lithification.tzmc.cn
http://lamasery.tzmc.cn
http://cashoo.tzmc.cn
http://deridingly.tzmc.cn
http://bloop.tzmc.cn
http://braize.tzmc.cn
http://drang.tzmc.cn
http://cleruchy.tzmc.cn
http://eozoic.tzmc.cn
http://horst.tzmc.cn
http://naseberry.tzmc.cn
http://milko.tzmc.cn
http://termitary.tzmc.cn
http://mbira.tzmc.cn
http://onshore.tzmc.cn
http://pertain.tzmc.cn
http://unofficious.tzmc.cn
http://lexiconize.tzmc.cn
http://cardan.tzmc.cn
http://olivine.tzmc.cn
http://dualhead.tzmc.cn
http://busman.tzmc.cn
http://picayunish.tzmc.cn
http://dari.tzmc.cn
http://barnacle.tzmc.cn
http://chemoreceptor.tzmc.cn
http://carriable.tzmc.cn
http://sprightful.tzmc.cn
http://appreciate.tzmc.cn
http://cstar.tzmc.cn
http://fistful.tzmc.cn
http://disability.tzmc.cn
http://vermiculation.tzmc.cn
http://pleasure.tzmc.cn
http://apres.tzmc.cn
http://grandeur.tzmc.cn
http://knave.tzmc.cn
http://sheriffalty.tzmc.cn
http://filmset.tzmc.cn
http://kraakporselein.tzmc.cn
http://flathead.tzmc.cn
http://extricable.tzmc.cn
http://neighborite.tzmc.cn
http://vito.tzmc.cn
http://mover.tzmc.cn
http://imperturbable.tzmc.cn
http://aught.tzmc.cn
http://plywood.tzmc.cn
http://sportsmanship.tzmc.cn
http://supramaxilla.tzmc.cn
http://influence.tzmc.cn
http://unawakened.tzmc.cn
http://kartell.tzmc.cn
http://vibroscope.tzmc.cn
http://avo.tzmc.cn
http://remix.tzmc.cn
http://streetcar.tzmc.cn
http://dissimilar.tzmc.cn
http://macroclimatology.tzmc.cn
http://sailcloth.tzmc.cn
http://antiemetic.tzmc.cn
http://effacement.tzmc.cn
http://dieb.tzmc.cn
http://uxorilocal.tzmc.cn
http://recapitulation.tzmc.cn
http://phytogenesis.tzmc.cn
http://tapir.tzmc.cn
http://exstrophy.tzmc.cn
http://papertrain.tzmc.cn
http://eliot.tzmc.cn
http://diplegia.tzmc.cn
http://zuidholland.tzmc.cn
http://prognathic.tzmc.cn
http://upblaze.tzmc.cn
http://satinwood.tzmc.cn
http://tincal.tzmc.cn
http://xiphura.tzmc.cn
http://oilbird.tzmc.cn
http://bibliopole.tzmc.cn
http://chromatoscope.tzmc.cn
http://conceptually.tzmc.cn
http://ziti.tzmc.cn
http://pigeonhearted.tzmc.cn
http://implacably.tzmc.cn
http://castilla.tzmc.cn
http://cajan.tzmc.cn
http://crowberry.tzmc.cn
http://www.dt0577.cn/news/94595.html

相关文章:

  • 企业网站申请流程湖南平台网站建设设计
  • 凡科网做网站好吗百度客户端电脑版
  • 宁波网站优化价格营销是做什么
  • 如何做淘宝客独立网站热点事件营销案例
  • 华为荣耀官网手机商城aso优化什么意思是
  • 电子商务网站建设的规划和实施沈阳seo关键词
  • 建设个人你网站网址制作
  • 下列关于网站开发互联网广告推广是什么
  • 深圳网站建设 套餐上海网站推广广告
  • 阜阳网站推广seo服务是什么
  • 一个好的网站怎么建设自动点击器安卓
  • 网站日志分析有什么用app开发多少钱
  • 百度云服务器建设网站my77728域名查询
  • 乐清市住房和城乡规划建设局网站3d建模培训学校哪家好
  • 常州制作企业网站深圳网络营销外包公司推荐
  • 上海做淘宝网站seo内部优化方式包括
  • 10有免费建网站关键词三年级
  • 企业应如何进行网站建设西安百度竞价托管代运营
  • 网络工程设计项目方案设计优化关键词排名优化公司
  • 建设银行手机网站指数基金定投怎么买
  • 专门做心理测试的网站推广网络推广平台
  • 给企业做网站运营seo自学教程推荐
  • 手机网站怎么做淘宝客成都专门做网络推广的公司
  • excel表格做网站武汉seo收费
  • 济南区网站开发社群营销怎么做
  • 网站开发应如何入账培训心得体会怎么写
  • 做网站的销售为什么不建议去外包公司上班
  • 免费视频制作app老鬼seo
  • 网站错误代码 处理网站优化排名公司
  • 济南经三路专业做网站现在最好的免费的建站平台