动态规划——62. Unique Paths[medium]
来源:互联网 发布:windows更新清理 编辑:程序博客网 时间:2024/06/06 05:38
题目描述
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).
The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).
How many possible unique paths are there?
Above is a 3 x 7 grid. How many possible unique paths are there?
Note: m and n will be at most 100.
从左上角走到右下角,只能向下或向右移动,求一共有几种走法。解题思路
这道题和之前那道爬楼梯动态规划——70. Climbing Stairs[easy])的很像,逆向思考,如果当前步是最后一步,那么,倒数第二步会是怎样的?
倒数第二步要么在当前步的左侧,要么在当前步的上侧,两种情况相加就能得出总的走法了。
于是,使用一个二维数组,f[i][j]表示走到当前步的总的走法,于是有:f[i][j] = f[i][j-1]+ f[i-1][j]
(还要考虑边界问题,超出棋盘的部分都应该是 0 )
代码如下
class Solution {public: int uniquePaths(int m, int n) { vector<int> tmp(n, 0);vector<vector<int> > f(m,tmp);f[0][0] = 1;for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {int col = j - 1;int row = i - 1;if (i == 0 && j == 0)continue;if (col == -1 && row == -1) f[i][j] = 0 + 0;else if (col == -1) f[i][j] = 0 + f[row][j];else if (row == -1)f[i][j] = f[i][col] + 0;elsef[i][j] = f[i][col] + f[row][j];}}return f[m - 1][n - 1]; }};
0 0
- 动态规划——62. Unique Paths[medium]
- 62. Unique Paths 类别:动态规划 难度:medium
- Leetcode解题笔记 62. Unique Paths [Medium] 动态规划
- LeetCode-62-Unique Paths(动态规划)-Medium
- 动态规划——unique-paths
- 动态规划——unique-paths-ii
- 63. Unique Paths II 类别:动态规划 难度:medium
- Leetcode解题笔记 63. Unique Paths II [Medium] 动态规划
- 动态规划——357. Count Numbers with Unique Digits[medium]
- 62. Unique Paths -Medium
- 62. Unique Paths Medium
- 62. Unique Paths 动态规划算法浅谈
- [LeetCode]62. Unique Paths&&动态规划
- leetcode 62. Unique Paths DP动态规划
- 蘑菇阵(动态规划、百度)——unique paths
- 算法题——Unique Paths(C++)动态规划
- (Leetcode)62.Unique Paths(medium)
- LeetCode 62. Unique Paths (Medium)
- 【php基础班】第7天 overflow属性、CSS引入方式、定位、布局、margin合并问题、浏览器兼容
- 深度学习 计算机视觉 物体检测 rcnn,fast rcnn,faster rcnn
- 同余与模算术
- Hibernate与MyBatis的对比
- SpringBoot操作MySQL数据库
- 动态规划——62. Unique Paths[medium]
- 日期问题
- leetcode: Reorder List 的Python实现
- linux下Nginx遇到的问题
- 平衡二叉树,AVL树之图解篇
- linux内核日志及printk结构浅析
- c++ shared_ptr误区之row pointer被多组shared_ptr拥有
- 实验吧 因缺思汀的绕过
- redis基本操作命令