
【剑指Offer】机器人的运动范围
发布日期:2022-02-10 08:55:13
浏览次数:12
分类:技术文章
本文共 913 字,大约阅读时间需要 3 分钟。
题目
地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?
思路
昨天才做一个上下左右能走的题目,那么马上想到的就是DFS和BFS,但是仔细一想其实用遍历数组就能解决。
- 检查上面和左面有没有走过,检查数位和是否小于等于k,然后计数
- 结束的条件是某一行(比如第i行)的所有格子,机器人都不能抵达。
代码
class Solution {public:
int numsum(int i){
int s = 0;
while(i != 0){
s += i % 10;
i = i / 10;
}
return s;
}
int movingCount(int m, int n, int k) {
bool flag[m][n];
int sum = 0;
int sum_i=0;
int sum_j=0;
int res_old = 0;
for(int i = 0;i < m;i++){
if(i%10 == 0){
sum_i = i/10;
}else{
sum_i++;
}
for(int j = 0;j < n;j++){
if(j%10 == 0){
sum_j = j/10;
}else{
sum_j++;
}
if((j==0 || j>0 && flag[i][j-1]==true || i>0 && flag[i-1][j]==true) && sum_i+sum_j <= k){
sum++;
flag[i][j] = true;
}else{
flag[i][j] = false;
}
}
if(sum != res_old){
res_old = sum;
}else{
break;
}
}
return sum;
}};
转载地址:https://blog.csdn.net/hanmin822/article/details/105572289 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2023年03月06日 09时57分53秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
最新文章
Android中原http请求的https实现(URLConnection 、volley)(volley不修改源码)
2019-09-09 07:56:54
Android 重写EditText回车事件
2019-09-09 07:56:54
JAVA 的data类型 long类型 生成星期几汇总
2019-09-09 07:56:53
Android监听home键的方法
2019-09-09 07:56:53
Android用户引导页实现,圆点实现动画效果
2019-09-09 07:56:52
Android自定义ScrollView分段加载大文本数据到TextView
2019-09-09 07:56:52
给 Android 开发者的 RxJava 详解
2019-09-09 07:56:51
使用getIdentifier()获取资源Id
2019-09-09 07:56:50
Android内存优化之——内存泄漏篇
2019-09-09 07:56:49
Android多线程的四种方式
2019-09-09 07:56:49
moveTaskToback退后台
2019-09-09 07:56:48
饿了么是怎么让Image变成详情页的
2019-09-09 07:56:48
应用内发送广播工具——LocalBroadcastManage
2019-09-09 07:56:47
设计模式——适配器模式
2019-09-09 07:56:47
Android实时监听网络状态
2019-09-09 07:56:46
Android Snackbar花式使用指南
2019-09-09 07:56:46
Android Toast自定义使用
2019-09-09 07:56:45
android中在fragment A里面点击button跳转到fragment B怎么实现?
2019-09-09 07:56:44
Android事件拦截机制
2019-09-09 07:56:44
android的消息处理机制(图+源码分析)——Looper,Handler,Message
2019-09-09 07:56:43