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)的主要内容,如果未能解决你的问题,请参考以下文章
精选力扣500题 第7题 LeetCode 21. 合并两个有序链表c++详细题解
Leetcode题解 - 链表简单部分题目代码+思路(21832032062419876)
LeetCode 169. 多数元素c++/java详细题解