Skip to content

Latest commit

 

History

History
51 lines (40 loc) · 1.73 KB

63.md

File metadata and controls

51 lines (40 loc) · 1.73 KB

✏��基础刷题之(63. Unique Paths II)


. 2019-11-16 吴亲库里 库里的深夜食堂

✏️描述

当前机器人位于左上角的位置,每次只能向下或者向右移动一位,求到达网格的右下角有多少种独特的方式。这道题和上一题唯一的不同点在于增加了障碍,如果往下或者往右的点的值是1,表示下一个行走的位置不能是值为1的路线。

✏️题目实例


✏️题目分析

这里唯一需要注意是当某个位置的值是1的时候,那么对应的dp[j]就等于0,表示点j的位置只有0种路径,为什么,因为j位置上的值等于1,路已经封死了,很简单的道理,最后只要位置不等于0就更新dp。

✏️最终实现代码

    /**
      * @param Integer[][] $obstacleGrid
      * @return Integer
      */
     function uniquePathsWithObstacles($obstacleGrid)
 {
         $m     = count($obstacleGrid);
         $n     = count($obstacleGrid[0]);
         $dp[0] = 1;
         for ($i = 0; $i < $m; $i++) {
             for ($j = 0; $j < $n; $j++) {
                 if ($obstacleGrid[$i][$j] == 1) {
                     $dp[$j] = 0;
                 } else {
                     $dp[$j] += $dp[$j - 1];
                 }
             }
         }
         return $dp[$n - 1];
     }

联系