[动态规划] leetcode 63 Unique Paths II
时间:2019-08-09
本文章向大家介绍[动态规划] leetcode 63 Unique Paths II,主要包括[动态规划] leetcode 63 Unique Paths II使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
problem:https://leetcode.com/problems/unique-paths-ii
爬台阶类型问题(2D), 如果当前位置有障碍物就不进行状态转换。
class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { if (obstacleGrid.size() == 0) return 0; if (obstacleGrid.size() == 1 && obstacleGrid[0].size() == 1) { return !obstacleGrid[0][0]; } int n = obstacleGrid.size(); int m = obstacleGrid[0].size(); if (obstacleGrid[n - 1][m - 1]) return 0; vector<vector<unsigned long long>> dp(n, vector<unsigned long long>(m, 0)); dp[0][0] = !obstacleGrid[0][0]; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (i != 0 || j != 0) { unsigned long long x = i >= 1 && obstacleGrid[i - 1][j] == 0 ? dp[i - 1][j] : 0; unsigned long long y = j >= 1 && obstacleGrid[i][j - 1] == 0 ? dp[i][j - 1] : 0; dp[i][j] = x + y; } } } return dp[n - 1][m - 1]; } };
原文地址:https://www.cnblogs.com/fish1996/p/11328104.html
- 学习Altas 笔记[JS简单调用服务端方法]
- 使用WinSCP软件在windows和Linux中进行文件传输
- 线程安全的Generic Dictionary
- Python 项目实践三(Web应用程序)第五篇
- CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4
- Python 项目实践三(Web应用程序)第四篇
- 负载均衡环境下缓存处理
- WordPress Ajax 异步加载 自定义评论表情
- “分期网”域名fenqi.wang以16888元成交
- Python 项目实践三(Web应用程序) 第三篇
- Python 项目实践三(Web应用程序)第二篇
- 第一个IronPython程序(之一)
- mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法
- 安装 IronPython
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux nohup实现后台运行程序及查看(nohup与&)
- 详解Linux 服务管理两种方式service和systemctl
- CentOS6.5安装python3.7详细步骤
- Centos7.5配置IP地址的实现
- linux里daily_routine实例代码详解
- 类Linux环境安装jdk1.8及环境变量配置详解
- CentOS7yum安装PHP7.2的操作方法
- CentOS 7中 Apache Web 服务器安装配置教程
- Win10安装Linux系统的教程图解
- 浅谈ubuntu执行.sh文件几种方式区别
- CentOS7使用yum安装PostgreSQL和PostGIS的方法
- Linux Windows下设置定时执行任务的方法
- 详解ssh免密码登录配置方法(图示加命令)
- centos 7 修改sshd | 禁止 root登录及sshd端口脚本定义
- Linux 全能系统监控工具dstat的实例详解