62.不同路径

#include

using namespace std;

// class Solution { //深度遍历法
// public:
//     int uniquePaths(int m, int n) {
//         vector> r(m, vector(n,1));
//         r[m-1][n-1]=-1;
//         dfs(r, 0, 0);
//         return res;
//     }

//     void dfs(vector> r, int i, int j)
//     {
//         if(i> r(m, vector(n, 1));
		int row = r.size();
		if (row == 1) return 1;
		int col = r[0].size();
		if (col == 1) return 1;
		for (int i = 0; i < row; i++) //行边界赋0
		{
			r[i][0] = 1;
		}
		for (int j = 0; j < col; j++) //列边界赋0
		{
			r[0][j] = 1;
		}
		for (int i = 1; i < row; i++) //填充后面的元素
		{
			for (int j = 1; j < col; j++)
			{
				r[i][j] = r[i - 1][j] + r[i][j - 1];
			}
		}

		return r[m - 1][n - 1];
	}
};

62.不同路径_第1张图片

你可能感兴趣的:(算法,c++,LeetCode,算法,leetcode,c++)