当前位置: 首页 > 后端技术 > Python

路径不同(Python3)

时间:2023-03-26 10:58:03 Python

问题描述:一个机器人位于一个mxn的格子的左上角(下图中起点标为“Start”)。机器人一次只能向下或向右移动一步。机器人尝试到达网格的右下角(下图中标记为“完成”)。总共有多少条不同的路径?示例:输入:m=3,n=2输出:3解释:从左上角开始,共有3条路径到达右下角。1.Right->Right->Down2.Right->Down->Right3.Down->Right->Right两种选择,一种是向下移动一位,一种是向右移动一位,即即,path[m][n]=path[m-1][n]+path[m][n-1]我们知道path[0][0]=1是计算到path[m][n]反过来。代码如下( ̄▽ ̄):importnumpyasnpclass解决方法:defuniquePaths(self,m:int,n:int)->int:res=np.zeros((m,n),dtype=np.int)foriinrange(0,m):forjinrange(0,n):如果j-1>=0andi-1>=0:res[i][j]=res[i-1][j]+res[i][j-1]elifj-1>=0:res[i][j]=res[i][j-1]elifi-1>=0:res[i][j]=res[i-1][j]else:res[i][j]=1#print(res)returnres[m-1][n-1]Timeandspacecomplexity:时间复杂度有点高了?(???ω???)?,因为是二层循环,大家有好的方法可以留言。来源:LeetCode链接:https://leetcode-cn.com/probl...