【Leetcode】之Unique Paths II
2016-05-19 11:46
344 查看
一.问题描述
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
1and
0respectively
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.
二.我的解题思路
之前已经采用动态规划算法做过上一题,那么就直接在上一题程序的基础上去做本题。我就加了几个if条件来判断是否有障碍物,然后就AC了。程序如下:class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int m = obstacleGrid.size(); if(m<=0) return 0; int n = obstacleGrid[0].size(); if(m==1 && n==1 && obstacleGrid[0][0]==0) return 1; if( n<=0) return 0; int res[m+1][n+1]; for(int i=0;i<=m;i++) res[i][0]=0; for(int i=0;i<=n;i++) res[0][i]=0; for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ if(obstacleGrid[m-i][n-j]==1) res[i][j]=0; else res[i][j]=res[i-1][j]+res[i][j-1]; if(i==1 && j==1 && obstacleGrid[m-1][n-1]==0) res[i][j]=1; if(i==1 && j==1 && obstacleGrid[m-1][n-1]==1) return 0; } } return res[m] ; } };
相关文章推荐
- .NET Core的“dotnet restore”、“dotnet build”和“dotnet run”命令都是用来干什么的?
- Hexo个人博客搭建问题之 './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND'
- PHP CURL上传文件出现413 Request Entity Too Large
- POJ-2524-Ubiquitous Religions(并查集 集合数量)
- 自定义控件之AndroidSegmentControlView,仿IOS平台UISegmentControlView,继承自View
- JAVA_GUI-获取字符串的高度和宽度
- 在Abp中集成Swagger UI功能
- QueryDSL介绍
- STL 源码剖析读书笔记五:序列式容器之 heap、priority_queue、slist
- iOS利用storyboard修改UITextField的placeholder文字颜色
- N - Longest Ordered Subsequence——POJ 最长递增子序列
- Java实现快速排序排序QuickSort
- Java Map集合按照key和value排序之法
- iOS 自定义UITabBar
- Android as Bluetooth Low Energy Peripheral (GATT server).
- 优先队列priority_queue的使用方法
- UI基础 获取当前屏幕显示的viewcontroller
- Apue:daemon
- LigerUI 快速开发UI框架
- 解决淘宝sui插件后退bug