1. 概述

有一个机器人的位于一个 m × n 个网格左上角。 机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。

问有多少条不同的路径?

2. 解题

  1. <?php
  2. class Solution {
  3. /**
  4. * @param int $m
  5. * @param int $n
  6. * @return int : An integer
  7. */
  8. public function uniquePaths(int $m, int $n) : int {
  9. $f = [];
  10. for ($i = 0; $i < $m; $i++) {
  11. $f[$i][0] = 1;
  12. }
  13. for ($j = 0; $j < $n; $j++) {
  14. $f[0][$j] = 1;
  15. }
  16. for ($i = 1; $i < $m; $i++) {
  17. for ($j = 1; $j < $n; $j++) {
  18. $f[$i][$j] = $f[$i][$j - 1] + $f[$i - 1][$j];
  19. }
  20. }
  21. return $f[$m - 1][$n - 1];
  22. }
  23. }
  24. $cls = new Solution();
  25. $r = $cls->uniquePaths(3, 3);
  26. echo $r;