力扣 题目62- 不同路径

题目

题解

很经典的动态规划题 

 dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
你问我规律怎么来的? 列出来找啊 (笑)
其实就是求 dp[i][j]  那么可以求 有多少到达了他dp[i][j] 上面的那个格子和左边的格子 因为他们只差一步就到达了

 

 

代码

 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 class Solution {
 5 public:
 6     int uniquePaths(int m, int n) {
 7         vector<vector<int>> dp(m, vector<int>(n));
 8         for (int i = 0; i < m; i++) {
 9             for (int j = 0; j < n; j++) {
10                 if (i == 0 || j == 0)
11                     dp[i][j] = 1;
12                 else {
13                     dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
14                 }
15             }
16         }
17         return dp[m - 1][n - 1];
18     }
19 
20 };
21 int main() {
22     Solution sol;
23     int result=sol.uniquePaths(4, 2);
24     cout << result << endl;
25 }
View Code

 

posted @ 2022-05-26 11:04  无聊的阿库娅  阅读(18)  评论(0编辑  收藏  举报