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

最好的html5画廊显示质量html5的网站软装设计方案网站

最好的html5画廊显示质量html5的网站,软装设计方案网站,phpcms 转 wordpress tag,wordpress数据库批量替换网址【算法题】62. 不同路径(LeetCode) 1.题目 下方是力扣官方题目的地址 62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图…

【算法题】62. 不同路径(LeetCode)

1.题目

下方是力扣官方题目的地址

62. 不同路径

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

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

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

    示例 1:

    img

    输入: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 * 109

2.题解

思路一(公式)

机器人无论怎么走到终点,向下向右的步数是固定的,都是向右n-1格,向下m-1格。

所以我们可以使用组合数,一共走m+n-2次,再其中选出m-1次向下走,其余的自然就是向右走了,所以有:

所以有
C ( m + n − 2 , m − 1 ) C(m+n-2,m-1) C(m+n2,m1)
如何计算它呢?

C ( n , k ) = n ! k ! ( n − k ) ! C(n, k) = \frac{n!}{k!(n-k)!} C(n,k)=k!(nk)!n!

所以有:

Python代码

class Solution(object):def uniquePaths(self, m, n):""":type m: int:type n: int:rtype: int"""from math import factorialreturn factorial(m+n-2)//(factorial(m-1)*factorial(n-1))

思路二(深度优先)

我们有深度优先搜索模拟所有情况,然后来个计数器计数

Python代码

class Solution(object):def uniquePaths(self, m, n):""":type m: int:type n: int:rtype: int"""global ansans=0def dfs(d,x,y):             # d 为深度global ansif d==(m+n-2):ans+=1returndirec=[[1,0],[0,1]]     # 向下或者向右for dx,dy in direc:if 0<=x+dx<m and 0<=y+dy<n:dfs(d+1,x+dx,y+dy)dfs(0,0,0)return ans

这种思路好想到,不过显然超时了

在这里插入图片描述

思路三(动态规划)

我们用dp[i][j]表示到达位置(i,j)时的总路径数。

很显然,当i=0或者j=0时,总路径数都是1

先把这些情况预处理了

其他情况遵循状态转移方程:

dp[i][j]=dp[i-1][j]+dp[i][j-1]

即当前位置的总数是它上方和左方总数之和

Python代码

class Solution(object):def uniquePaths(self, m, n):""":type m: int:type n: int:rtype: int"""dp=[[0]*n for _ in range(m)]    # 初始化dp数组for i in range(n):dp[0][i]=1                  # 预处理for i in range(m):dp[i][0]=1for i in range(1,m):for j in range(1,n):dp[i][j]=dp[i-1][j]+dp[i][j-1]return dp[-1][-1]

3.结语

本人资历尚浅,发博客主要是记录与学习,欢迎大佬们批评指教!大家也可以在评论区多多交流,相互学习,共同成长。

http://www.yayakq.cn/news/499634/

相关文章:

  • 网站建设兆金手指排名百度seo排名主要看啥
  • wordpress 自定义栏目 删除搜索网站排名优化
  • 广州市公司网站建设价格公司的网站建设费做什么费用
  • 在微信上做网站好友介绍网站怎么做
  • 品牌查询网站胶州市经济技术开发区建设局网站
  • 网站收录查询情况Fastcgi做网站
  • 北京市建网站精品一卡2卡三卡4卡二百信息网
  • 大连装修公司排名前十口碑推荐安卓优化大师官方版本下载
  • 网站和第三方建设丽江市建设局网站
  • 专科网站建设论文网站分析一般要重点做哪几项内容
  • 自己做网站 赚钱网站建设 兼职 外包
  • 网站备案拍照好麻烦莱芜金点子广告电子版2022最新
  • 色块网站自己做的网站怎么发布到百度
  • 城建道桥建设集团网站wordpress名片主题
  • 视频网站开发公司有哪些公司seo搜索引擎优化期末及答案
  • 飞猪旅游的网站建设用c 做的网站怎么打开
  • 如何建设电影网站网站建设和优司怎么样
  • 做视频网站公司要怎么做的江苏住房和城乡建设厅官方网站6
  • 网站做百度竞价的标志大理做网站哪家好
  • 怎样做彩票投资网站云服务器5元左右的
  • 一个人可做几次网站备案自己建网站怎么做影视资源
  • 甘肃省住房和城乡建设厅执业资格注册中心网站网站开发与桌面应用开发
  • 做个网站要多少钱建站费用明细表惠州seo按天计费
  • 北京pc端网站开发如何制作3d效果图
  • 做网站都需要学什么北京十大营销策划公司
  • 杭州网站建设小程序正规男科医院收费标准
  • 深圳做网站多少上海自建站招聘
  • 展示型网站都包括什么模块seo点击软件
  • 如何利用php开源系统建立php网站室内设计师证报名入口官网
  • 手工做衣服网站有哪些物流网个人网站建设