算法课第八周作业 | Unique Paths
来源:互联网 发布:java oa系统 源码下载 编辑:程序博客网 时间:2024/06/04 18:45
写在前面:
这两周都是DP主题,讲解了DP两种实现方式(递推和记忆化搜索)、Floyd-Warshall算法等。
题意解读:
给定一个m*n的格子,机器人只能向下走或者向右走,
机器人从左上出发,终点为右下格子,问说一共有多少个唯一路径。
解题思路:
采用DP思想解决问题,用数组来保存每个点可到达路径总数。
从(x,y)出发,每次可以通过(x-1,y)和(x,y-1)到达。
所以(x,y)的可到达路径数就是二者相加。
到达终点的路经数就是终点所对应数组的值。
代码:
class Solution {public: int uniquePaths(int m, int n) { if (m == 0 || n == 0) { return 0; } vector<vector<int>> path(m,vector<int>(n,0)); for (int i = 0; i < m; i++) path[i][0] = 1; for (int i = 0; i < n; i++) path[0][i] = 1; for (int i = 1; i < m; i++) { for (int j = 1; j < n; j++) { path[i][j] = path[i-1][j] + path[i][j-1]; } } return path[m-1][n-1]; }};
运行结果:
0 0
- 算法课第八周作业 | Unique Paths
- 算法第14周Unique Paths[medium]
- Unique Paths 算法详解
- 算法8 Unique Paths
- 算法第八周作业01
- 【算法】【Dynamic Programming】Unique Paths
- 算法课第12周第1题——62. Unique Paths
- 算法课第12周第2题——63. Unique Paths II
- 算法第14周Unique Paths II[medium]
- 算法作业_14(2017.4.12第八周)
- 算法作业_15(2017.4.15第八周)
- 算法第八次作业
- 62. Unique Paths 动态规划算法浅谈
- 算法系列——Unique Paths
- Leetcode算法学习日志-62 Unique Paths
- 【算法】【Dynamic Programming】Unique Paths II
- (算法分析Week12)Unique Paths[Medium]
- (算法分析Week12)Unique Paths II[Medium]
- 设计模式(十五)状态模式
- 05:吃糖果
- Android studio项目目录详解
- python sort、sorted高级排序技巧
- android API——LocationManager获取位置信息
- 算法课第八周作业 | Unique Paths
- 打破无人驾驶的天花板
- python excel 处理
- Leetcode 101
- JavaScript中与JSON有关的几个函数
- 使用alembic进行openstack数据库版本管理
- CentOS安装wine
- CSTC-MISC
- 通过tiny-spring学习Spring框架源码(一)