Leetcode题解(21)

Posted

tags:

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

62. Unique Paths

题目

技术分享

分析:

机器人一共要走m+n-2步,现在举个例子类比,有一个m+n-2位的二进制数,现在要在其中的m位填0,其余各位填1,一共有C(m+n-2,m-1)种可能,如果0表示向下走,1表示向右走,这样就和题目意思一样了。

现在考虑最后一步的走法,要么向右走到达终点,要么向下走到达终点,因此

f(m,n) = f(m,n-1)+f(m-1,n);

代码如下(主要考虑的是大数据):

 

 1 class Solution {
 2 public:
 3     int uniquePaths(int m, int n) {
 4         vector<vector<int>> v(m, vector<int>(n, 1));
 5         for(int i=1; i<m; ++i){
 6             for(int j=1; j<n; ++j){
 7                 v[i][j]=v[i-1][j]+v[i][j-1];
 8             }
 9         }
10         return v[m-1][n-1];
11     }
12 };

 

以上是关于Leetcode题解(21)的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode题解....ing python

精选力扣500题 第7题 LeetCode 21. 合并两个有序链表c++详细题解

Leetcode题解 - 链表简单部分题目代码+思路(21832032062419876)

LeetCode 169. 多数元素c++/java详细题解

精选力扣500题 第61题 LeetCode 78. 子集c++/java详细题解

精选力扣500题 第65题 LeetCode 322. 零钱兑换c++/java详细题解