机器人的移动范围

最近有在刷算法题目,现在的打算是每做完一道算法题,有点自己的想法就在博客上面记录下来。与君共勉,一起进步。

题目如下:

地上有一个m行和n列的方格,一个机器人从坐标0,0的格子开始移动。每次只能向左右上下四个方向移动,但不能进入行坐标和竖

坐标的位数之和大于K的格子,例如当k为18的时候,机器人能够进入方格(35,37)因为3+5+3+7=18,当为(36,37)就不行 因为3+6+3+7=19,大于18。

我先说一下我的解题思路吧。

首先,看到一道题目的时候得知道这道题目的问题,也就是问的是什么,我之前做题目的时候就是一直不明白这道题目主要是做什么。这跟工作学习是一个道理,工作的时候分配到一个任务,这个任务的前因后果都不知道,有的同学就开始coding了,这样下来结果很容易coding出问题。好了,言归正传。

我分析 这道题目的条件有一下几点。

1.地图的大小是 m行和n列,也即int visit[rows][cols].

2.位置是(0,0) 也就是,visit[0][0]==1,用1代表一个格子

3.向左右上下移动,就可以理解为列减加1,行减加1,用row代表当前行,col代表当前列,

4.行坐标和竖坐标的位数之和小于等于k值,numSum(row)+numSum(col)<=k

具体的实现代码就如下

package xin.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值