LeetCode题目-63

首页 编程分享 LEET_CODE 正文

leetCode 转载 编程分享 2016-05-27 07:27:39

简介 LeetCode题目-63


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


.

✏描述

当前机器人位于左上角的位置,每次只能向下或者向右移动一位,求到达网格的右下角有多少种独特的方式。这道题和上一题唯一的不同点在于增加了障碍,如果往下或者往右的点的值是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];
     }


转载链接:https://leetcode.cn/


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云