62. 不同路径 -LeetCode

Posted pc-m

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了62. 不同路径 -LeetCode相关的知识,希望对你有一定的参考价值。

技术图片

心得:开始使用回溯,后来看答案想了下动态规划更简单,

以后在想递归的时候,先考虑一下动态规划。

首先化解子问题:f[x][y]代表到x,y这个坐标有多少种方法,

由于只能向右和向下,所以保证子问题互相独立,这个条件特别重要,

如果可以多方向,就不能用动态规划了,

f[x][y]=f[x-1][y]+f[x][y-1]

代码:

 1 class Solution 
 2  public int uniquePaths(int m, int n)     
 3     int[][] arr=new int[m][n];
 4     for(int i=0;i<arr[0].length;i++)
 5     
 6         arr[0][i]=1;
 7     
 8     for(int i=0;i<arr.length;i++)
 9         arr[i][0]=1;
10    for(int i=1;i<arr.length;i++)
11        for(int j=1;j<arr[0].length;j++)
12            arr[i][j]=arr[i-1][j]+arr[i][j-1];
13   return arr[m-1][n-1];
14 
15 

 

以上是关于62. 不同路径 -LeetCode的主要内容,如果未能解决你的问题,请参考以下文章

[leetcode] 62. 不同路径

62. 不同路径

LeetCode 62 不同路径

62. 不同路径

62. 不同路径

java刷题--62 不同路径