当前位置: 首页 > 编程日记 > 正文

Unique Paths II

注意一个容易犯的错误:判断obstacleGrid是否为1时,else那部分不能少。因为如果不加,就会默认把那些值设置为0。

class Solution {
public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int height = obstacleGrid.size();int width = obstacleGrid[0].size();vector<vector<int>> result(height,vector<int>(width));if(obstacleGrid[0][0] == 1 || obstacleGrid[height-1][width-1] == 1)return 0;for(int i = 0;i < height;i++){for(int j = 0;j < width;j++){if(obstacleGrid[i][j] == 1)result[i][j] = 0;elseresult[i][j] = -1;}}result[0][0] = 1;for(int i = 0;i < height;i++){for(int j = 0;j < width;j++){if(i == 0 && j == 0)continue;if(result[i][j] == 0)continue;if(i != 0 && j != 0)result[i][j] = result[i][j-1] + result[i-1][j];else if(i == 0)result[i][j] = result[i][j-1];elseresult[i][j] = result[i-1][j];}}return result[height-1][width-1];}
};

初始化第一行第一列

class Solution {
public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int length = obstacleGrid.size();if(length <= 0)return 0;int width = obstacleGrid[0].size();vector<vector<int>> result(length,vector<int>(width));if(obstacleGrid[0][0] == 1)result[0][0] = 0;elseresult[0][0] = 1;for(int i = 1;i < length;i++){if(obstacleGrid[i][0] == 1 || result[i-1][0] == 0)result[i][0] = 0;elseresult[i][0] = 1;}for(int j = 1;j < width;j++){if(obstacleGrid[0][j] == 1 || result[0][j-1] == 0)result[0][j] = 0;elseresult[0][j] = 1;}for(int i = 1;i < length;i++){for(int j = 1;j < width;j++){if(obstacleGrid[i][j] == 1)result[i][j] = 0;//else if(result[i-1][j] == 0)      这些不注释掉也能跑出正确结果//result[i][j] = result[i][j-1];//else if(result[i][j-1] == 0)//result[i][j] = result[i-1][j];elseresult[i][j] = result[i][j-1] + result[i-1][j];}}return result[length-1][width-1];}
};

相关文章:

零基础java培训如何规划学习路线

学习java的同学越来越多&#xff0c;很多小伙伴都想知道零基础如何学习java?如何安排学习路线&#xff0c;零基础java培训如何规划学习路线?那么针对以上问题&#xff0c;今天小编特意分享这篇Java学习指南&#xff0c;希望对那些想学Java&#xff0c;想零基础快速入门Java有…

CCIE-MPLS基础篇-实验手册

又一部前期JUSTECH&#xff08;南京捷式泰&#xff09;工程师职业发展系列丛书完整拷贝。 MPLS&#xff08;Multi-Protocol Label Switching&#xff09; 目录 1&#xff1a;MPLS 基础实验.... 3 1.1实验拓扑... 3 1.2实验需求&#xff1a;... 3 1.3实验步骤... 3 1.4校验…

[转载]Oracle 11g新特征之形式料理(2)

不可见的索引 您经常感应利诱&#xff0c;索引能否真的有利于用户的盘考&#xff1f;它也许有利于一个盘考&#xff0c;但会影响 10 个其他盘考。索引肯定会对 INSERT 语句形成负面影响&#xff0c;也会执行潜伏的删除和更新操纵&#xff0c;这取决于 WHERE 条件能否在索引中包…

技术图文:进一步完善自动化交易系统 - 03

背景 在 进一步完善自动化交易系统 - 02 这篇图文中&#xff0c;向大家详细介绍了&#xff0c;满足以下两个条件下&#xff1a; 拥有数字资产&#xff1a;BTC、EOS、USDT、ONEBigOne 提供交易对&#xff1a;ONE-USDT、ONE-EOS、ONE-BTC、EOS-BTC、EOS-USDT、BTC-USDT 我们可…

HTML5培训后好就业吗

HTML5技术在移动互联网行业的发展前景是非常可观的&#xff0c;以至于很多人都非常看好HTML5行业&#xff0c;想要学习HTML5技术的人越来越多&#xff0c;但大家都比较关心HTML5培训后好就业吗?就这个问题我们来看看下面的详细介绍吧。 HTML5培训后好就业吗?首先&#xff0c;…

股市复盘:本周交易数据分析

特别说明&#xff1a; 每周我会统计「股票市场」的数据为大家的投资提供辅助支持&#xff0c;每个人站的角度不同&#xff0c;面对同一份数据得到的观点亦或不同&#xff0c;我只提供数据&#xff0c;不提供观点&#xff0c;欢迎大家在图文下方留言&#xff0c;我们理性探讨。 …

Strategy Analytics:物联网安全令人担忧,成本节约效益也不确定

Strategy Analytics物联网战略研究报告《2016年物联网部署趋势及使用调查》发现&#xff0c;物联网安全问题令人担忧&#xff0c;同时&#xff0c;超过半数企业对物联网带来的成本节约效益也不太确定。56%的受访公司认为&#xff0c;大数据分析是推动物联网部署的首要驱动力。 …

SQLServer中设置XML索引

XML索引分为主XML索引和次XML索引&#xff1b;1.主XML索引&#xff1a;为了完整、一致的表示XML的值&#xff0c;格式&#xff1a;Create PRIMARY XML INDEX indexName ON tableName(columName);2.次XML索引&#xff1a;对于XPath和XQuery表达式&#xff0c;可以使用XML次索引&…

零基础能学好UI设计吗

UI设计在最近几年的发展前景是有目共睹的&#xff0c;越来越多的企业注重用户体验&#xff0c;而UI设计在这一方面是起着非常重要位置的&#xff0c;如今很多人都想要学习UI设计&#xff0c;那么零基础能学好UI设计吗?我们来看看下面的详细介绍。 零基础能学好UI设计吗?如果美…

技术图文:进一步完善自动化交易系统 - 04

背景 我们在 数字资产量化中的三角套利策略 这篇图文中详细的介绍了三角套利的原理以及代码实现。 在 进一步完善自动化交易系统 - 02 和 进一步完善自动化交易系统 - 03 中利用配置文件的方法&#xff0c;扩充至七个三角套利模型。 现在的问题是需要把应用程序和配置文件分别…

如何成为Android开发高手

(copy来的) 计划按这个步骤去学习很多Android开发者已经度过了初级、中级&#xff0c;如何成为一个Android高手呢? Android123就各个级别的程序员应该掌握哪些内容作为下面分类。 一、初级 1. 拥有娴熟的Java基础&#xff0c;理解设计模式&#xff0c;比如OOP语言的工厂模式要…

哪些物联网应用最适合采用雾计算?

有时在做出判断时真的是要靠自己&#xff0c;让别人为你指出方向是不可行的。 许多物联网系统所面临的情景与此相同。集中处理大量传感器数据会减慢决策&#xff0c;并增加带宽需求。而做出明智的决策最好靠近源头。 哪些决策应该靠近网络边缘&#xff0c;哪些应该靠近中心&…

学习web前端你必须要了解的主流框架!

如今的前端已经不再像以前一样就是简单的写写页面和调调样式而已&#xff0c;现在的前端越来越复杂&#xff0c;知识点越来越丰富。 要做WEB前端&#xff0c;就需要知道前端到底是什么&#xff0c;需要学习那些知识;前端至少要懂的三个部分&#xff1a;HTML&#xff0c;CSS&…

技术图文:如何实现汉诺塔问题?

背景 最近在辅导小孩们学习编程&#xff0c;在介绍函数递归时&#xff0c;最典型的就是汉诺塔问题了。 我在这里总结一下&#xff0c;以方便大家的学习。 汉诺塔问题源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子&#xff0c;在一根柱子上从下往上…

Unity----Scene加载问题

Unity官方提供了4种加载场景&#xff08;scene&#xff09;的方法&#xff0c;分别是&#xff1a; 1. Application.LoadLevel()&#xff1a;同步加载 2. Application.LoadLevelAsync():异步加载 3. Application.LoadLevelAddictive():同步附加式加载 4. Application.LoadLevelA…

基于Google Reader的个人知识管理方案

来源月光博客:http://www.williamlong.info/archives/2172.html. 先前我写的《基于Dropbox的个人知识管理平台》讲述了使用Dropbox在个人知识管理的保存知识方面的技巧&#xff0c;而个人知识管理的另一个重要环节是获取知识&#xff0c;今天月光博客就介绍一下如何通过Google …

学习java一定会用到的应用软件

想要成为一名合格的java程序猿&#xff0c;基础知识一定是要非常牢固的&#xff0c;扎实的基本功不仅可以快速的吸收新的知识&#xff0c;也会避开一些基本的语法错误&#xff0c;为了帮助程序员们减少一点工作压力&#xff0c;小编在此汇总了一些各大网络平台上推荐的程序员必…

LeetCode实战:两数之和

题目英文 Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. Example: Given nums [2, 7, 1…

忘记mysql 密码的取回方法

如果 MySQL 正在运行&#xff0c;首先杀之&#xff1a; killall -TERM mysqld(如果是windows,直接调出进程管理器,结束之) 以安全模式启动 MySQL &#xff1a;/usr/bin/safe_mysqld --skip-grant-tables & (windows 下 mysql安装所以盘/mysql/bin/safe_mysqld --skip-grant…

《社交网站界面设计(原书第2版)》——2.13 不要中断电子邮件

2.13 不要中断电子邮件 如果你将电子邮件作为广播媒介&#xff08;例如&#xff0c;发送提醒或通知&#xff09;却不让用户回复他们收到的消息&#xff0c;就比较差劲了。你也没理由不处理这些回复&#xff0c;你可以把这些回复当作通知转发给正确的收件人。这需要你在方便沟通…

学习Python遇到的热门问题整理

什么是Python?它可以做什么用?学习Python还是java?哪个比较好?Python适用于哪些场景?关于python&#xff0c;你是不是还有很多问题?那今天小编就来给大家答疑解惑了&#xff0c;给大家整理了学习Python遇到的热门问题&#xff0c;看完这篇文章&#xff0c;你会对Python有…

WinRM设置信任主机

启动https需要证书&#xff0c;所以只能用信任主机的方式。适应没有域的环境。 enable-psremoting winrm s winrm/config/client {TrustedHosts"XXX.XXX.XXX.XXX"} 转载于:https://www.cnblogs.com/flysoft/archive/2011/03/12/1982494.html

LeetCode实战:快乐数

题目英文 Write an algorithm to determine if a number is “happy”. A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until t…

idea的优秀博客推荐

2019独角兽企业重金招聘Python工程师标准>>> http://blog.csdn.net/qq_27093465/article/details/63683873 http://www.cnblogs.com/whc321/p/5669804.html 转载于:https://my.oschina.net/u/3621360/blog/1528716

花钱参加UI设计培训值得吗?

最近有很多人都想要学习UI设计&#xff0c;大家都比较看好UI设计行业的好前景&#xff0c;高薪资&#xff0c;那么花钱参加UI设计培训值得吗?这是目前很多人都比较关心的问题&#xff0c;下面小编就为大家做下详细的介绍。 ​花钱参加UI设计培训值得吗?对于零基础或者转行的人…

零基础自学用Python 3开发网络爬虫(一)

原文出处&#xff1a; Jecvay Notes &#xff08;Jecvay&#xff09; 由于本学期好多神都选了Cisco网络课, 而我这等弱渣没选, 去蹭了一节发现讲的内容虽然我不懂但是还是无爱. 我想既然都本科就出来工作还是按照自己爱好来点技能吧, 于是我就不去了. 一个人在宿舍没有点计划…

用什么心态对待水平糟糕的程序员[不靠谱的程序员、思路紊乱的程序员]?

这些年遇到了很多糟糕的程序员&#xff0c;其实真正是写程序料的人&#xff0c;普通IT公司大概只占1/3左右吧&#xff0c;其实有2/3的人都太适合当程序员&#xff0c;还不如早点儿改行该干啥就干啥了&#xff0c;其中有1/10的人往往是相对比较糟糕的。 01&#xff1a;招聘时&am…

LeetCode实战:三数之和

题目英文 Given an array nums of n integers, are there elements a, b, c in nums such that a b c 0? Find all unique triplets in the array which gives the sum of zero. Note: The solution set must not contain duplicate triplets. Example: Given array n…

女生做软件测试需要学习什么技术?

软件测试在近几年的发展前景是非常好的&#xff0c;加上软件测试对于想要零转型的学员来说是在合适不过的&#xff0c;有很多女性也开始学习软件测试&#xff0c;目前大家都比较关心女生做软件测试需要学习什么技术呢?下面我们就来看看详细的介绍。 女生做软件测试需要学习什么…

一、Axis2 WebService开发准备工作

上次介绍了axis1.x的用法&#xff0c;这次继续上次的&#xff0c;将叙述axis2的用法。 Axis1.x在线博文&#xff1a;http://www.cnblogs.com/hoojo/archive/2010/12/20/1911349.html 1、开发准备 首先需要下载axis2的相关jar包&#xff0c;到axis的官方网站即可获得开发的依赖包…