[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》,現給出這樣一題目:

假設在格子中加入一些障礙,會出現多少存在且唯一的不同路徑呢?

障礙和空白格子分別被標記為1?and?0?.

比方一個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];elsedp[i][j]=0;}}return dp[m-1][n-1];}
}


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281279.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281279.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281279.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

lua windows下編譯

從Lua5.1開始官方給出的文件只有源代碼和makefile文件了&#xff0c;官網給出的bulid方式也是在linux平臺&#xff0c;如果只是想找個庫使用下可以到這里來下載&#xff1a;http://joedf.ahkscript.org/LuaBuilds/ &#xff0c;如果需要自定修改庫配置的話&#xff0c;就需要自…

XAML 創建瀏覽器應用程序

XAML 創建瀏覽器應用程序XAML 創建瀏覽器應用程序作者&#xff1a;WPFDevelopersOrg - 驚鏵原文鏈接&#xff1a;https://learn.microsoft.com/zh-cn/dotnet/desktop/wpf/app-development/wpf-xaml-browser-applications-overview?viewnetframeworkdesktop-4.8框架使用.NET40&…

Git 合并分支選項 --squash 合并提交歷史

git merge --squash <branchname>--squash選項的含義是&#xff1a;本地文件內容與不使用該選項的合并結果相同&#xff0c;但是不提交、不移動HEAD&#xff0c;因此需要一條額外的commit命令。其效果相當于將another分支上的多個commit合并成一個&#xff0c;放在當前分…

Kubernetes共享使用Ceph存儲

目錄 簡要概述環境測試結果驗證簡要概述 Kubernetes pod 結合Ceph rbd塊設備的使用&#xff0c;讓Docker 數據存儲在Ceph,重啟Docker或k8s RC重新 調 度pod 不會引起數據來回遷移。 工作原理無非就是拿到ceph集群的key作為認證&#xff0c;遠程rbdmap映射掛載使用。那么就要啟用…

在Activity不可見時暫停WebView的語音播放,可見時繼續播放之前的語音

private AudioManager mAudioManager;private AudioManager.OnAudioFocusChangeListener mFocusChangeListener; Override protected void onPause() {   super.onPause();   stopPlayVoice(); } Override protected void onResume() {   super.onResume();   startPla…

MFC界面庫BCGControlBar v25.3新版亮點:Dialogs和Forms

2019獨角獸企業重金招聘Python工程師標準>>> 親愛的BCGSoft用戶&#xff0c;我們非常高興地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v25.3正式發布&#xff01;新版本添加了對Visual Studio 2017的支持、增強對Windows 10的支持等。接下來幾篇文…

基于 .NET 7 的 QUIC 實現 Echo 服務

前言隨著今年6月份的 HTTP/3 協議的正式發布&#xff0c;它背后的網絡傳輸協議 QUIC&#xff0c;憑借其高效的傳輸效率和多路并發的能力&#xff0c;也大概率會取代我們熟悉的使用了幾十年的 TCP&#xff0c;成為互聯網的下一代標準傳輸協議。在去年 .NET 6 發布的時候&#xf…

php.ini-development和php.ini-production的區別

使用zip版MySQL安裝時&#xff0c;需要將php.ini-development或php.ini-production改成php.ini&#xff0c;那么php.ini-development和php.ini-production的區別在哪兒呢&#xff0c;通俗的說法時&#xff0c;development是開發環境&#xff0c;production用于生產環境&#xf…

Server.MapPath()的用法

http://blog.csdn.net/qiuhaifeng_csu/article/details/19416407 Server.MapPath(string path)作用是返回與Web服務器上的指定虛擬路徑相對應的物理文件路徑。其參數path為Web 服務器的虛擬路徑&#xff0c;返回結果是與path相對應的物理文件路徑。但有時參數并非為虛擬路徑&a…

為什么阿里巴巴禁止把SimpleDateFormat定義為static類型的?

在日常開發中&#xff0c;我們經常會用到時間&#xff0c;我們有很多辦法在Java代碼中獲取時間。但是不同的方法獲取到的時間的格式都不盡相同&#xff0c;這時候就需要一種格式化工具&#xff0c;把時間顯示成我們需要的格式。 最常用的方法就是使用SimpleDateFormat類。這是一…

關于信息收集和加工的思考

隨著互聯網的發展&#xff0c;獲取信息的手段越來越多&#xff0c;我們對手機的依賴程度超乎想象&#xff0c;每天忙碌著&#xff0c;大腦接收著豐富的信息&#xff0c;感覺每天都學習到了很多的知識。但我們對學習經常會有些誤區&#xff1a;1、書買了擺在書架上&#xff0c;看…

[譯]關于NODE_ENV,哪些你應該了解

原文 Node.js開發者經常檢測環境變量NODE_ENV&#xff0c;但你是否知道設置這個值同時也具有著某些別的意義&#xff1f;閱讀本文你將發現這些。NODE_ENV是一個在Express框架中極其常用的環境變量。用其確定應用的運行環境&#xff08;諸如開發&#xff0c;staging&#xff0c;…

GatewayWorker Not Support On Windows.

thinkphp版本&#xff1a;5.1 tp5.1運行命令行php think worker:gateway出現GatewayWorker Not Support On Windows.是因為在tp5.1的命令行中做了判定&#xff0c;不支持windows環境下運行。 這里不支持windows環境并不是說gateway worker不支持windows&#xff0c;而是tp5.1的…

8支團隊正在努力構建下一代Ethereum

“我們不想在構建 Ethereum 2.0時重新造輪子。” 談到開發人員為 Ethereum 區塊鏈進行兩個獨立的升級&#xff08;一個稱為 Ethereum 2.0&#xff0c;另一個稱為 Ethereum 1x&#xff09;所作出的補充努力&#xff0c;勞爾喬丹堅持認為&#xff0c;在較短的時間內將升級包括在 …

fastjson SerializerFeature詳解

名稱含義備注QuoteFieldNames輸出key時是否使用雙引號,默認為true UseSingleQuotes使用單引號而不是雙引號,默認為false WriteMapNullValue是否輸出值為null的字段,默認為false WriteEnumUsingToStringEnum輸出name()或者original,默認為false UseISO8601DateFormatDate使用ISO…

費曼學習法中問題的提出與反問,擴展與主動查詢的學習習慣訓練過程

在2022年11月05日的對話中&#xff0c;九遷先講了女媧補天和女媧造人的故事&#xff0c;女媧造人的故事還講了兩個版本的&#xff0c;隨后提到了一個事情&#xff0c;那就是&#xff0c;如果你要找一個神仙一起度過一天&#xff0c;你想找誰&#xff0c;想做些什么&#xff1f;…

Fiddle:使用斷點:bpu,bpafter

http://www.cnblogs.com/yoyoketang/p/6778006.html轉載于:https://www.cnblogs.com/peixianping/p/7230021.html

windows環境下TP5.1使用think-worker(Workerman/GatewayWorker)

文章目錄首先是解決如何運行gatewayworker調試gatewayworker程序向指定客戶端發送消息在TP框架中調用Gateway的API總結說明測試環境 windows10&#xff1b;PHP7.2&#xff1b;TP5.1&#xff1b; 這里只介紹如何使用TP集成的workerman擴展庫think-worker&#xff0c;原生workerm…

webpack之DefinePlugin使用

DefinePlugin是webpack注入全局變量的插件&#xff0c;通常使用該插件來判別代碼運行的環境變量。在使用該插件需要注意的是&#xff0c;如果在該插件配置了相關的參數&#xff0c;必須要源碼中使用&#xff0c;webpack才會注入。例如&#xff1a; new webpack.DefinePlugin({p…

Magicodes.IE 2.7.0發布

2.7.02022.11.07使用SkiaSharp替代SixLabors.ImageSharp移除SixLabors.Fonts感謝linch90的大力支持&#xff08;具體見pr#462&#xff09;部分方法改為虛方法2.7.0-beta2022.10.27使用SixLabors.ImageSharp替代System.Drawing&#xff0c;感謝linch90 &#xff08;見pr#454&…