剑指offer-机器人的运动范围
题目描述
判断当前结点是否存在或者是否被访问过,没访问过就判断他是否合法(数位和大于k),合法的格子标记已访问,并递归其左右上下。
public class Solution {//回溯 dfs my
public int movingCount(int threshold, int rows, int cols)
{
boolean[][] isVisit = new boolean[rows][cols];
dfs(threshold,0,0,isVisit);
int re =0;
for(int i=0;i<rows;i++){
for(int j=0;j<cols;j++){
if(isVisit[i][j]){
re++;
}
}
}
return re;
}
public void dfs(int t,int x,int y,boolean[][] isVisit){
if(x<0||y<0||x>=isVisit.length||y>=isVisit[0].length||isVisit[x][y]){
return ;
}
int sum =0;
int i=x;
int j =y;
while(i!=0){
sum+=i%10;
i/=10;
}
while(j!=0){
sum+=j%10;
j/=10;
}
if(sum>t){
return ;
}
isVisit[x][y] = true;
dfs(t,x+1,y,isVisit);
dfs(t,x-1,y,isVisit);
dfs(t,x,y+1,isVisit);
dfs(t,x,y-1,isVisit);
}
}
剑指offer-机器人的运动范围的更多相关文章
- 剑指Offer——机器人的运动范围
题目描述: 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机器人 ...
- 剑指offer--48.机器人的运动范围
这道题不是要求走一趟最多走多少,而是最多走多少,WA几次才想通. ------------------------------------------------------------------- ...
- 剑指offer——2
剑指offer 机器人的运动范围 数组的应用和递归 package com.wang.test; public class Myso { /** * 题目描述 * 地上有一个m行和n列的方格.一个机器 ...
- 【Java】 剑指offer(12) 机器人的运动范围
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 地上有一个m行n列的方格.一个机器人从坐标(0, 0)的格子开始移 ...
- 剑指 Offer 13. 机器人的运动范围 + 深搜 + 递归
剑指 Offer 13. 机器人的运动范围 题目链接 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2020/12/ ...
- 剑指 Offer 13. 机器人的运动范围
剑指 Offer 13. 机器人的运动范围 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] .一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左.右.上.下移动一 ...
- 机器人的运动范围 牛客网 剑指Offer
机器人的运动范围 牛客网 剑指Offer 题目描述 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大 ...
- Go语言实现:【剑指offer】机器人的运动范围
该题目来源于牛客网<剑指offer>专题. 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之 ...
- 剑指offer
今天完成了剑指offer上的66道编程题,感觉自己还是很多代码实现能力和算法积累都还不够!还需要继续联系,坚持自己独立写代码实现. 最后将今天的两道题目奉上,都有异曲同工之妙: 矩阵中的路径: #in ...
- 【剑指Offer学习】【全部面试题汇总】
剑指Offer学习 剑指Offer这本书已经学习完了.从中也学习到了不少的东西,如今做一个总的文件夹.供自已和大家一起參考.学如逆水行舟.不进则退.仅仅有不断地学习才干跟上时候.跟得上技术的潮流! 全 ...
随机推荐
- 怎么给PDF文件交换页面
在使用PDF文件的时候有文件页面的排版错误的时候,这个时候就需要交换页面了,那么怎么给PDF文件交换页面呢,在使用PDF文件的时候需要交换页面的时候要怎么做呢,下面小编就为大家分享一下PDF文件交换页 ...
- C#学习-子类的初始化顺序
使用了继承之后,当我们初始化一个子类时,除了会调用子类的构造函数外,同时也会调用基类的构造函数. 子类的初始化顺序如下: (1)初始化类的实例字段: (2)调用基类的构造函数: (3)调用子类的构造函 ...
- “System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。
如果你的 WebService 客户端证书配置都没问题,唯独调用接口会出现这个错误 “System.FormatException”类型的未经处理的异常在 System.IdentityModel.d ...
- 关于pyCharm专业版的破解方法
用pycharm编写自动化脚本时,pycharm专业版的使用期限只有30天, 找到了pycharm破解方法. 破解码:{"licenseId":"145446792566 ...
- 数组方括号有趣的split方法
今天看到了split的方法感觉好神奇的样子 split是javascript内置方法 就像join方法是连接数组并转换为字符串一样split方法是把数组拆分成多个部分,而且每一个部分都是数组的元素. ...
- Django跨域、cookie、session
前后台分离开发 1.前台页面运行在前台服务器上,负责页面的渲染(静态文件的加载)与跳转 2.后台代码运行在后台服务器上,负责数据的处理(提供数据请求的接口) 跨域 什么是跨域? 通常情况下,A网页访问 ...
- Team
队名 正义联盟 团队成员 211606301 蔡振翼(队长) 211606445 肖志豪 211606382 吴文清 211606370 刘华强 211605240 谢孟轩 211614269 林凯 ...
- bzoj2982: combination(lucas定理板子)
2982: combination Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 664 Solved: 397[Submit][Status][Di ...
- ZAB协议与Paxos算法
ZooKeeper并没有直接采用Paxos算法,而是采用一种被称为ZAB(ZooKeeper Atomic Broadcast)的一致性协议 ZooKeeper是一个典型的分布式数据一致性的解决方案, ...
- JTS相关资料和示例
示例 JTS基本概念和使用 JTS Geometry之间的关系 JTS algorithm package