当前位置: 首页 > news >正文

unique paths ii java_[LeetCode][Java] Unique Paths II

题目:

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》,现给出这样一题目:

如果在格子中添加一些障碍,会出现多少存在且唯一的不同路径呢?

障碍和空白格子分别被标记为1and0.

比如一个3x3的格子中的中间存在一个障碍,如下所示:

[

[0,0,0],

[0,1,0],

[0,0,0]

]

总的路径数为2.

算法分析:

思路与题目《Unique Paths》类似,不同之处为:

初始化边界上行和列时,出现障碍,后面路径数dp的都是0

中间的格子出现障碍时,该格子dp表示的路径数直接填0

AC代码:

public class Solution

{

public int uniquePathsWithObstacles(int[][] obstacleGrid)

{

if(obstacleGrid==null||obstacleGrid.length==0)

return 0;

int m = obstacleGrid.length;

int n = obstacleGrid[0].length;

int [][] dp = new int[m][n];

for(int i = 0; i < m; i++)

{

if(obstacleGrid[i][0]!=1)

dp[i][0] = 1;

else

break;

}

for(int j = 0; j < n; j++)

{

if(obstacleGrid[0][j]!=1)

dp[0][j] = 1;

else

break;

}

for(int i = 1; i < m; i++)

{

for(int j = 1; j< n; j++)

{

if(obstacleGrid[i][j]!=1)

dp[i][j] = dp[i-1][j] + dp[i][j-1];

else

dp[i][j]=0;

}

}

return dp[m-1][n-1];

}

}

版权声明:本文为博主原创文章,转载注明出处

原文:http://blog.csdn.net/evan123mg/article/details/46923225

相关文章:

  • java自定义注解嵌套_Spring-基于自定义注解和Aop动态数据源配置
  • java包名称_显示Java类的包名称
  • Java异构数据翻译器_CowNewSQL Java实现的多数据库SQL翻译器,可以把标准 生成多种 的方言,支持Oracle、 Develop 238万源代码下载- www.pudn.com...
  • linux java网络编程_Java网络编程深入之TCP协议编程
  • java顺序打印约瑟夫环_关于约瑟夫环问题,用java 编写程序,输出n个人出圈的顺序,书上的程序代码如下,但是有几点我搞不明白...
  • java翻译topping_java刚開始学习的人常见的问题
  • java里添加员工信息_SSH_框架整合4--添加员工信息
  • 毛刺现象 java_组合逻辑设计中的毛刺现象
  • java 有界类型_java泛型之有界类型
  • oracle mysql8_这一刻,MySQL 8终于追赶上了Oracle 8
  • power of three java_【LeetCode】326. Power of Three 3的幂(Easy)(JAVA)
  • python2和pytho3切换_电脑上同时安装Python2和Pytho
  • 学JS对学Java有用吗_【JS】编程语言那么多,为啥学Java的人那么多?
  • java offset用法_Java OffsetTime plusMinutes()用法及代码示例
  • php 判断是否对象_利用PHP判断JSON对象是否存在
  • Apache Pulsar 2.1 重磅发布
  • ES6简单总结(搭配简单的讲解和小案例)
  • github指令
  • Git的一些常用操作
  • Making An Indicator With Pure CSS
  • MySQL主从复制读写分离及奇怪的问题
  • php面试题 汇集2
  • Rancher-k8s加速安装文档
  • ReactNative开发常用的三方模块
  • win10下安装mysql5.7
  • 不上全站https的网站你们就等着被恶心死吧
  • 成为一名优秀的Developer的书单
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 基于Android乐音识别(2)
  • 聊聊directory traversal attack
  • 深入浅出Node.js
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 移动端唤起键盘时取消position:fixed定位
  • 我们雇佣了一只大猴子...
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (c语言)strcpy函数用法
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (过滤器)Filter和(监听器)listener
  • (九)One-Wire总线-DS18B20
  • (利用IDEA+Maven)定制属于自己的jar包
  • (三) diretfbrc详解
  • (四)图像的%2线性拉伸
  • (一)Thymeleaf用法——Thymeleaf简介
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .NET Core中的去虚
  • .NET 常见的偏门问题
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .net和php怎么连接,php和apache之间如何连接
  • @Mapper作用
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会
  • [Android]一个简单使用Handler做Timer的例子
  • [C++]priority_queue的介绍及模拟实现