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的主要内容,如果未能解决你的问题,请参考以下文章