LeetCode 62. Unique Paths

LeetCode 62. Unique Paths

Description:

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?

Note: m and n will be at most 100.


分析:

首先初始化第一行和第一列为1,因为从起点开始到第一行第一列只有一条路径,然后第二行第二列的数为其左边和其上边两个数之和,因为只能往右往下走,走到第二行第二列只能从左边来或者从上边来,所以到第二行第二列的路径数目为第一行第二列(上边)和第二行第一列(左边)的路径数目之和。

三行七列求解:

这里写图片描述

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
public:
int uniquePaths(int m, int n) {
int a[100][100];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (i == 0 || j == 0) a[i][j] = 1;
else a[i][j] = a[i][j - 1] + a[i - 1][j];
}
}
return a[m - 1][n - 1];
}
};
------本文结束感谢阅读------