机器人走方格

题目描述:
在这里插入图片描述
先来按照题目要求画小方格,并且判断有几种走法:下面这几个例子可以很简单的在纸上画出来走的方法

方格规格几种走法
1×11
1×21
2×11
2×22(1×2 2×1)
2×33(1×3 1×2 2×1)
  • 处于2*2的方格的时候,只能向下走一步或者向右走一步,向下走一步就变成了1×2的方格的走法,向右走一步就变成了2×1的方格的走法,两种走法相加就是2×2方格总共的走法。
    在这里插入图片描述

  • 再来分析一个2×3的方格的走法,向右走一步,变成2×2的走法(红色方框),上面分析了2×2的总共的走法,有两种,向下走一步,变成了1×3的方格的走法(绿色方框),显而易见1×3的走法只有一种,所以2×3的走法一共有3种。
    在这里插入图片描述


  • 后面的例子也都是这样分析的,由此我们分析得出n×m的走法一共有f(n-1,m)+f(n,m-1)中走法,需要用递归来计算。

public class Main {
    public int countWays(int x, int y) {
        // write code here
        return count(x,y);
    }
    public int count(int x, int y) {
        if (x == 1 || y == 1) {
            return 1;
        }
        return count(x-1,y)+count(x,y-1);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值