最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java LeetCode題解不同路徑

 更新時間:2023年06月15日 15:16:02   作者:搬碼人  
這篇文章主要為大家介紹了java LeetCode題解不同路徑示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

題目描述

一個機器人位于一個m×n網(wǎng)格的左上角。

機器人每次只能向下或者向右移動一步。機器人試圖到達網(wǎng)格的右下角 。

現(xiàn)在考慮網(wǎng)格中有障礙物。那么從左上角到右下角 將會有多少條不同的路徑呢?

網(wǎng)格中的障礙物和空位置分別用1和0表示。

示例

來自LeetCode

輸入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]

輸出:2

解釋:3x3 網(wǎng)格的正中間有一個障礙物。

從左上角到右下角一共有 2 條不同的路徑:

  • 向右 -> 向右 -> 向下 -> 向下
  • 向下 -> 向下 -> 向右 -> 向右

方法思路

同前面的不同路徑解法一樣,最優(yōu)方法是采用動態(tài)規(guī)劃。

此處同時采用滾動數(shù)組優(yōu)化空間。

我們用f(i,j)來表示從坐標(0,0)到坐標(i,j)的路徑數(shù),u(i,j)表示坐標(i,j)是否可行,如果坐標(i,j)有障礙物,u(i,j)=0,否則u(i,j)=1。

因為機器人只能向下或者向右移動,所以坐標(0,0)到坐標(i,j)的路徑總數(shù)的值只能取決于坐標(0,0)到坐標(i-1,j)的路徑總數(shù)和從坐標(0,0)到坐標(i,j-1)的路徑總數(shù),即f(i,j)只能通過f(i-1,j)和坐標f(i,j-1)轉移得到。當坐標(i,j)本身有障礙物的時候,

任何路徑都到不了f(i,j),此時f(i,j)=0。

class Solution {
    public int uniquePathsWithObstacles(int[][] obstacleGrid) {
        int n = obstacleGrid.length;
        int m = obstacleGrid[0].length;
        int[] f = new int[m];
        f[0]= obstacleGrid[0][0]==0?1:0;
        for(int i=0;i<n;++i){
            for(int j=0;j<m;++j){
                if(obstacleGrid[i][j]==1){
                    f[j]=0;
                    continue;
                }
                if(j>=1&&obstacleGrid[i][j-1]==0){
                    f[j]+=f[j-1];
                }
            }
        }
        return f[m-1];
    }
}

復雜度分析

  • 時間復雜度:O(nm),其中n為網(wǎng)格的行數(shù),m為網(wǎng)格的列數(shù)。
  • 空間復雜度:O(m)。利用滾動數(shù)組優(yōu)化,我們可以只用O(m)大小的空間來記錄當前行的通路值。

以上就是java LeetCode題解不同路徑的詳細內(nèi)容,更多關于java LeetCode不同路徑的資料請關注腳本之家其它相關文章!

相關文章

  • SpringBoot項目中新增脫敏功能的實例代碼

    SpringBoot項目中新增脫敏功能的實例代碼

    項目中,由于使用端有兩個,對于兩個端的數(shù)據(jù)權限并不一樣。Web端可以查看所有數(shù)據(jù),小程序端只能查看脫敏后的數(shù)據(jù),這篇文章主要介紹了SpringBoot項目中新增脫敏功能,需要的朋友可以參考下
    2022-11-11
  • java讀取配置文件自定義字段(yml、properties)

    java讀取配置文件自定義字段(yml、properties)

    本文主要介紹了java讀取配置文件自定義字段(yml、properties),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • SpringBoot整合Apache Spark實現(xiàn)一個簡單的數(shù)據(jù)分析功能

    SpringBoot整合Apache Spark實現(xiàn)一個簡單的數(shù)據(jù)分析功能

    ApacheSpark是一個開源的大數(shù)據(jù)處理框架,它提供了豐富的功能和API,用于分布式數(shù)據(jù)處理、數(shù)據(jù)分析和機器學習等任務,下面我們就來看看SpringBoot如何整合Apache Spark實現(xiàn)一個簡單的數(shù)據(jù)分析功能吧
    2025-11-11
  • SWT(JFace)小制作 BugTracker

    SWT(JFace)小制作 BugTracker

    SWT(JFace)小制作 BugTracker
    2009-06-06
  • SpringData JPA實現(xiàn)查詢分頁demo

    SpringData JPA實現(xiàn)查詢分頁demo

    本篇文章主要介紹了SpringData JPA實現(xiàn)查詢分頁demo,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 通過實例解析Spring argNames屬性

    通過實例解析Spring argNames屬性

    這篇文章主要介紹了通過實例解析Spring argNames屬性,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Java利用Zxing生成二維碼的簡單實例

    Java利用Zxing生成二維碼的簡單實例

    下面小編就為大家?guī)硪黄狫ava利用Zxing生成二維碼的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • mybatis相同的sql查詢第二次查不出結果問題

    mybatis相同的sql查詢第二次查不出結果問題

    這篇文章主要介紹了mybatis相同的sql查詢第二次查不出結果問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java 中String StringBuilder 與 StringBuffer詳解及用法實例

    Java 中String StringBuilder 與 StringBuffer詳解及用法實例

    這篇文章主要介紹了Java 中String StringBuilder 與 StringBuffer詳解及用法實例的相關資料,需要的朋友可以參考下
    2017-02-02
  • JavaWeb實現(xiàn)簡單文件上傳功能

    JavaWeb實現(xiàn)簡單文件上傳功能

    這篇文章主要為大家詳細介紹了JavaWeb實現(xiàn)簡單文件上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評論

嘉峪关市| 盖州市| 南江县| 鹤山市| 武清区| 武安市| 万全县| 济源市| 潼南县| 清河县| 濮阳市| 白沙| 油尖旺区| 绵阳市| 阿鲁科尔沁旗| 信阳市| 洱源县| 洛川县| 浮山县| 赤峰市| 永昌县| 宁明县| 绿春县| 乌什县| 台湾省| 全州县| 江油市| 永嘉县| 彭水| 石门县| 上林县| 信宜市| 鄂伦春自治旗| 突泉县| 新兴县| 元江| 晋中市| 肇庆市| 滦南县| 利津县| 潍坊市|