求路径(NC34/考察次数Top56/难度简单)
Posted 码农指南
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求路径(NC34/考察次数Top56/难度简单)相关的知识,希望对你有一定的参考价值。
描述:
一个机器人在m×n大小的地图的左上角(起点)。
机器人每次向下或向右移动。机器人要到达地图的右下角(终点)。
可以有多少种不同的路径从起点走到终点?
备注:m和n小于等于100,并保证计算结果在int范围内
示例1
输入:
2,2
返回值:
2
(题目来自牛客网)
用C++实现如下
class Solution {
public:
/**
*
* @param m int整型
* @param n int整型
* @return int整型
*/
int uniquePaths(int m, int n) { //注意,不返回改动的m和n的值,不加应用
// write code here
//思路,算出每一格的路径数量,由于是从左上方走向右下方,每一个格子路径数等于左边格子数量加上右边格子数量之和
int A[m][n]; //定义一个m行n列的数组,m和n是行列数,不是下标
A[0][0]=1; //路径的总数
int i, j;
for(j=1;j<n;j++)
A[0][j]=1; //第一行赋值为1,因为路径只有左边过来,都是1;
for(i=1;i<m;i++)
A[i][0]=1; //第一列赋值为1,因为路径只有上面过来,都是1;
for(i=1;i<m;i++) //将整个格子填满即可(从小到大进行遍历求解),按行来填写
for(j=1;j<n;j++)
A[i][j]=A[i][j-1]+A[i-1][j];
return A[m-1][n-1]; //此处为右下角格子的路径数量;
}
};
纯手撕代码,如果觉得内容不错麻烦点个赞,后面陆续配上Top100算法题通俗易懂的讲解视频,可以花两个月时间完全掌握,进大厂不是梦,转行狗亲测!
以上是关于求路径(NC34/考察次数Top56/难度简单)的主要内容,如果未能解决你的问题,请参考以下文章