最强解析面试题:机器人走方格

Posted 魏小言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最强解析面试题:机器人走方格相关的知识,希望对你有一定的参考价值。


最强解析面试题:机器人走方格

文章讲解 “ 机器人走方格 ” 经典面试题,包含思路及源码,及解惑!

题目

有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。给定两个正整数int x,int y表示网格的大小,计算机器人的走法数目。

示例

输入: x = 2;y=2
输出:2

思路

  • 动态规划
    • 边界条件为 x=1,y=1及 x=0 和 y=0
    • 主线条件为 res[i][j] = res[i-1][j] + res[i][j-1]

代码

package main

//机器人走方格 测试样例:2,2返回:2
func main() 
   fmt.Println("res:", Res())

func Res() int 
   x := 2
   y := 2
   var res [2][2]int
   for i := 0; i < x; i++ 
      for j := 0; j < y; j++ 
         if i == 0 && j == 0 
            res[i][j] = 1
          else if i == 0 
            res[i][j] = res[i][j-1]
          else if j == 0 
            res[i][j] = res[i-1][j]
          else 
            res[i][j] = res[i-1][j] + res[i][j-1]
         
      
   
   return res[x-1][y-1]

附录

自负和自大真的是搞笑!

以上是关于最强解析面试题:机器人走方格的主要内容,如果未能解决你的问题,请参考以下文章

最强解析面试题:接雨水...

最强解析面试题:Goland 消费生产模式实现

最强解析面试题:替换空格「建议收藏!」

最强解析面试题:替换空格「建议收藏!」

最强解析面试题:硬币计算 动态规划

最强解析面试题:Goland 循环队列实现