1. 程式人生 > >[LeetCode]62. Unique Paths&&動態規劃

[LeetCode]62. Unique Paths&&動態規劃

Unique Paths

A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).

The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).

How many possible unique paths are there?

採用動態規劃對於格點(i,j)。由於只能從上格點(i-1,j)或左格點(i,j-1)到達,並且兩者路徑是不重複的

因此a[i][j] = ai-1][j]+a[i][j-1]

public int uniquePaths(int m, int n) {
		int a[][]=new int[m][n];
		for(int i=0;i<n;i++)
			a[0][i]=1;
		for(int i=0;i<m;i++)
			a[i][0]=1;
		for(int i=1;i<m;i++)
			for(int j=1;j<n;j++)
				a[i][j]=a[i-1][j]+a[i][j-1];
		return a[m-1][n-1];
	}