算法分析与设计丨第十六周丨LeetCode(20)——Unique Paths II(Medium)
来源:互联网 发布:c语言多个if else 编辑:程序博客网 时间:2024/06/06 15:44
题目描述:
Follow up for "Unique Paths":
Now consider if some obstacles are added to the grids. How many unique paths would there be?
An obstacle and empty space is marked as 1
and 0
respectively in the grid.
For example,
There is one obstacle in the middle of a 3x3 grid as illustrated below.
[ [0,0,0], [0,1,0], [0,0,0]]
The total number of unique paths is 2
.
Note: m and n will be at most 100.
题目解析:动态规划。最开始的时候想的太复杂了,各种边界条件设置,后来看了别人的博客,发现其实和Unique Paths的判定条件一样,所以说有的时候不能想的太复杂。
class Solution {public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int m = obstacleGrid.size(); int n = obstacleGrid[0].size(); vector<vector<int> > path(m,vector<int>(n,0)); for(int i = 0;i < m;++i) { for(int j = 0;j < n;j++) { if(obstacleGrid[i][j] == 1) path[i][j] = 0; else if(i == 0 && j == 0) path[i][j] = 1; else if(i == 0 && j > 0) path[i][j] = path[i][j-1]; else if(i > 0 && j == 0) path[i][j] = path[i-1][j]; else path[i][j] = path[i-1][j] + path[i][j-1]; } } return path[m-1][n-1]; }};
阅读全文
0 0
- 算法分析与设计丨第十六周丨LeetCode(20)——Unique Paths II(Medium)
- (算法分析Week12)Unique Paths II[Medium]
- 算法分析与设计课程11——467. Unique Substrings in Wraparound String(Medium)
- 算法分析与设计丨第六周丨LeetCode(9)——Course Schedule(Medium)
- 算法分析与设计丨第八周丨LeetCode(12)——Friend Circles(Medium)
- 算法分析与设计丨第九周丨LeetCode(13)——Redundant Connection(Medium)
- 算法分析与设计丨第十二周丨LeetCode(16)——Minimum Path Sum(Medium)
- 算法分析与设计丨第十三周丨LeetCode(17)——Coin Change(Medium)
- 算法分析与设计丨第十五周丨LeetCode(19)——Longest Palindromic Substring(Medium)
- [Leetcode 63, Medium] Unique Paths II
- 【LeetCode】(63)Unique Paths II(Medium)
- Leetcode 63. Unique Paths II (Medium) (cpp)
- Leetcode 63. Unique Paths II (Medium) (java)
- 第七周 leetcode 62. Unique Paths(Medium)
- 算法第14周Unique Paths II[medium]
- [Medium]Unique Paths II
- 【leetcode】Array——Unique Paths II(63)
- LeetCode 63 — Unique Paths II(C++ Java Python)
- JAVA高级面试总结-JVM篇
- CentOS 7 安装配置 VNC 详解
- 博客搬家
- loj6227「网络流 24 题」最长k可重线段集问题(类似loj6014 费用流)
- linux入门——新手必学命令1
- 算法分析与设计丨第十六周丨LeetCode(20)——Unique Paths II(Medium)
- 数据结构--线性表之DynamicList类
- 深度学习冷门知识点
- 713. Subarray Product Less Than K
- java decompiler和jad反编译eclipse idea jar
- mybatis之if
- 设计模式 经典书籍必备推荐
- STM32F103使用SWD烧写错误提示的问题
- swift用cocoaPods 打包静态库 (OC 与 Swift ,其实是一样的)