Leetcode解题笔记 62. Unique Paths [Medium] 动态规划

版权声明:自由转载-非商用-非衍生-保持署名 https://blog.csdn.net/mgsweet/article/details/78732584

解题思路

设v[i][j] 为到达第i,j格的独立路径数,则v[i][j] = v[i][j - 1] + v[i - 1][j],原因是只会有从上面一格往下走或者从右面一格往左走两种情况

代码

class Solution {
public:
    int uniquePaths(int m, int n) {
        vector<vector<int>> v(m + 1);

        for (int i = 0; i < m + 1; i++) {
            v[i].resize(n +  1);
        }

        for (int i = 0; i <= m; i++) {
            v[i][0] = 1;
        }

        for (int i = 0; i <= n; i++) {
            v[0][i] = 1;
        }

        for (int i = 1; i <= m; i++) {
            for (int j = 1; j <= n; j ++) {
                v[i][j] = v[i - 1][j] + v[i][j - 1];
            }
        }
        return v[m-1][n-1];
    }
};

猜你喜欢

转载自blog.csdn.net/mgsweet/article/details/78732584
今日推荐