LeetCode进阶之路(Unique Paths II)
来源:互联网 发布:数据库服务端和客户端 编辑:程序博客网 时间:2024/05/16 06:27
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
.
题目:这道题是上一题的升级版,中间加了一个障碍,其实只要把障碍地方的解变为 0 就好。
public class Solution { public int uniquePathsWithObstacles(int[][] obstacleGrid) { int row = obstacleGrid.length; if(row < 1 ) return 0; int col = obstacleGrid[0].length; if(col < 1) return 0; if(obstacleGrid[0][0] == 1|| obstacleGrid[row-1][col-1]==1) return 0; for(int i = 0;i < row;i++) { for(int j = 0;j < col;j++) { if(obstacleGrid[i][j] == 1){ obstacleGrid[i][j] = -1; } } } for(int i = 0;i < row;i++){ if(obstacleGrid[i][0] == -1) { break; } else { obstacleGrid[i][0] = 1; } } for(int i = 0;i < col;i++){ if(obstacleGrid[0][i] == -1) { break; } else { obstacleGrid[0][i] = 1; } } for(int i = 1;i < row;i++) { for(int j = 1;j < col;j++) { if(obstacleGrid[i][j] != -1) { if(obstacleGrid[i-1][j] ==-1 && obstacleGrid[i][j-1] == -1) { continue; }else if(obstacleGrid[i-1][j] ==-1) { obstacleGrid[i][j] = obstacleGrid[i][j-1]; } else if(obstacleGrid[i][j-1] == -1) { obstacleGrid[i][j] = obstacleGrid[i-1][j]; } else { obstacleGrid[i][j] = obstacleGrid[i-1][j] + obstacleGrid[i][j-1]; } } } } return obstacleGrid[row-1][col-1]; }
一忙就忘了更新这事,看来得定个闹钟提醒自己了!
0 0
- LeetCode进阶之路(Unique Paths II)
- LeetCode进阶之路(Unique Paths)
- leetcode 之Unique Paths II
- leetcode之Unique Paths II
- 【Leetcode】之Unique Paths II
- Leetcode之Unique Paths II
- leetcode之Unique Paths 和Unique Paths II
- LeetCode OJ 之 Unique Paths II(不同路径 - 二)
- Leetcode之Unique Paths II 问题
- LeetCode: Unique Paths II
- [Leetcode] Unique Paths II
- LeetCode : Unique Paths II
- [LeetCode] Unique Paths II
- [LeetCode]Unique Paths II
- [leetcode]Unique Paths II
- LeetCode-Unique Paths II
- [leetcode] Unique Paths II
- LeetCode - Unique Paths II
- 访问父类的父类的方法 | 笔试题
- STC单片机之1602显示时钟
- 判断数组是不是某二元查找树的后序遍历_Glodon(2)_20160921
- 终端手动集成cocoaPods
- Flink on Yarn部署
- LeetCode进阶之路(Unique Paths II)
- HTML5学习笔记(一)video的使用
- linux下的ctrl快捷键使用
- css基础知识(二)
- 手工创建数据库
- php邮件发送-phpmailer
- Java集合系列(二)—— 列表迭代器ConcurrentModificationException异常
- 登录Linux图形界面authentication failed提示 解决
- 网络通讯编程(TCP为例)