leetcode(62)不同路径
Posted erdanyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode(62)不同路径相关的知识,希望对你有一定的参考价值。
不同路径
第一种方法:
解题思路:排列组合+数学计算
第二种方法:
解题思路:动态规划+自底向上
class Solution public int uniquePaths(int m, int n) int[][] arrays = new int[m+1][n+1]; for(int i=1;i<m+1;++i) for(int j=1;j<n+1;++j) if(i==1||j==1) arrays[i][j]=1; else arrays[i][j]=arrays[i-1][j]+arrays[i][j-1]; return arrays[m][n];
另一种思路:和第二种思路一样,但是比第二种方法空间复杂度减少
class Solution public int uniquePaths(int m, int n) int min = Math.min(m,n); int max = Math.max(m,n); int[][] arrays = new int[2][min]; int cur = 0; for(int i=0;i<m+n-1;++i) for(int j=0;j<min;++j) if(i-j>=0||i-j<=max) if(j==0||i-j==0) arrays[cur][j]=1; else arrays[cur][j]=arrays[1-cur][j-1]+arrays[1-cur][j]; cur = 1-cur; return arrays[1-cur][min-1];
以上是关于leetcode(62)不同路径的主要内容,如果未能解决你的问题,请参考以下文章