修改网站模板详解,广州分销系统开发,宝丰县精神文明建设的门户网站,热门网页设计制作代码题目#xff1a; 一个机器人位于一个 m x n 网格的左上角 #xff08;起始点在下图中标记为 “Start” #xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角#xff08;在下图中标记为 “Finish” #xff09;。 问总共有多少条不同的路径 一个机器人位于一个 m x n 网格的左上角 起始点在下图中标记为 “Start” 。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角在下图中标记为 “Finish” 。 问总共有多少条不同的路径 来源力扣LeetCode 链接力扣LeetCode官网 - 全球极客挚爱的技术成长平台 示例 示例 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 解法 由于起点在右上角终点在右下角所以必然需要向右走n-1次向下走m-1次只是向右向下的顺序不同所以转为组合问题。一共需要走n-1m-1次其中有n-1次是向右走剩下都是向下走所以Cn-1m-1n-1。 知识点 1.math.factorial(n)n是正整数返回给定数字n的阶乘。 代码 class Solution:def uniquePaths(self, m: int, n: int) - int:def CombinationNumber(n, m):if m n:return factorial(n) / (factorial(n - m) * factorial(m))return int(CombinationNumber(m - 1 n - 1, m - 1))