Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 1.75 KB

62.md

File metadata and controls

59 lines (43 loc) · 1.75 KB

✏️基础刷题之(62. Unique Paths)


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

✏️描述

当前机器人位于左上角的位置,每次只能向下或者向右移动一位,求到达网格的右下角有多少种独特的方式

✏️题目实例


✏️题目分析

这是一个典型的动态规划题型,对于动态规划,之前写过一篇文章,这两天会根据自己的理解,重新再写一篇。动态规划最重要的两步:1.定义状态。2动态转移公式。因为开始的时候向下或者向右都是一条路径。所以 dp[0][i] 和 dp[i][0] 都等于1。然后推导出转移方程。这个转移方程也是根据每次只能向下或者向右移动推导出的。

dp[$i][$j] 表示从(0,0)到(i,j)路径总数。

dp[$i][$j]=$dp[$i-1][$j]+$dp[$i][$j-1]  转移方程

✏️最终实现代码

 /**
     * @param Integer $m
     * @param Integer $n
     * @return Integer
     */
    function uniquePaths($m, $n) {
        
        for($i=0;$i<$m;$i++){
            $dp[$i][0]=1;
        }
        
        for($j=0;$j<$n;$j++){
            $dp[0][$j]=1;
        }
        
        for($i=1;$i<$m;$i++){
            for($j=1;$j<$n;$j++){
                $dp[$i][$j]=$dp[$i-1][$j]+$dp[$i][$j-1];
            }
        }
        return $dp[$m-1][$n-1];
    }

联系