首页 > 编程语言 >Java基础学习05

Java基础学习05

时间:2023-01-09 16:12:19浏览次数:44  
标签:map cnt Java 05 int 学习 FindWay return true

通过一道简单的算法题找路问题总结一下一些小结论。问题:在迷宫中找到一条通路并计算长度(2023-01-09

解法:首先利用二维数组创建迷宫,创建一个类,调用类中的方法实现问题解决,方法的思想利用了递归的思路,二维数组中的每一个位置:0代表可以走但还未走,1表示障碍物,2表示已经走过能走通(但不需要再测试),3表示死路。

首先递归方法需要先完成结束条件,当在出口的时候数组的之的值置为2,即一条成功的通路由数字2构成。

其次当数组值为0的时候先将当前置为2,按照一定的顺序测试四个方位(上下左右)的位是否可取,即调用递归,每个位置都测试一次,为0 就覆盖为2,如果四周走不通,原来的位置置为3表示死路。

如何计算路径长度?

在类中设置一个静态的计数变量(cnt),静态变量独一份不会在调用结束时消失,同时要在类中设置一个Getter方法获取更新的cnt,这样保证能够在主函数中输出这个cnt的值。

总代吗如下

class Way{
public static int cnt=0;
public boolean FindWay(int[][] map,int i,int j){

if(map[6][5]==2){16:01:21
return true;
}else{
if(map[i][j]==0){
map[i][j]=2;
cnt++;
if(FindWay(map,i+1,j)){
return true;
}
if(FindWay(map,i,j+1)){
return true;
}
if(FindWay(map,i-1,j)){
return true;
}
if(FindWay(map,i,j-1)){
return true;
}else{
map[i][j]=3;
cnt--;
return false;
}

}else{
return false;

}
}
}

public static int getCnt() {
return cnt;
}

标签:map,cnt,Java,05,int,学习,FindWay,return,true
From: https://www.cnblogs.com/copyjames/p/17037337.html

相关文章

  • VsCode里面运行mvn命令显示The JAVA_HOME environment variable is not defined corre
    问题描述关于这个问题,就是环境配置出了问题!!!问题解决在settings.json里面,配置的环境的路径不能出错,我就是在配置的时候,名为Environments的文件夹写成Environment了,才......
  • CMU 15-445 | Lecture 04 Database Storage II 学习
    行存储用OLTP(On-lineTransactionProcessing),列存储用OLAP(On-lineAnalyticalProcessing)。大多数数据库是行存储。行存储的读写较方便,因此工业上可以采取混合形式......
  • dell N4050声卡驱动安装后仍然没有声音,改装XP完美驱动IDT声卡!实测可用!
    文中的驱动可以解决4月份出的机器的XPIDT高清声卡驱动在XP下无法正常安装的问题,但是这些操作对动手能力要求较高。大家可以尝试下,但无法保证100%。​​高速下载​​​  ......
  • 整理下深度学习常见的学习平台
    原创不易,转载请注明出处。1、深度学习在线平台2、深度学习资源......
  • java SSL加密传输
    网络传输是存在风险的,因此对服服务端和客户端进行安全校验和传输信息的加密就显得非常的重要。上面一句有点拗口,简单解释如下文: 当客户使用SSL向站点服务器发送请求时......
  • Java工作流详解(附6大工作流框架对比)​
    ​目录​1.什么是工作流​2.工作流应用场景​3.工作流实现方式​4.有哪些工作流框架?​5.1.Activiti6.2.Flowable7.3.Camunda8.4.jBPM9.5.osworkflow,6.jflow.​10.工作流......
  • NLP基础知识学习掌握
    NLP入门总览教材推荐:实用文章NLP领域的重要模型100行代码完成的NLP任务好的课程NLP领域的几个研究方向与公共数据集NLP的基本方法和流程NLP基础知识1......
  • 英语学习方法(三)
    a.若干问题解答一份英文材料,你可以重复听到你厌烦,然后你再换材料.先学语法还是先积累词汇,什么都不要,开始需要听起来.学语法是在赚钱后,你在数钱,学语......
  • 转导推理_归纳推理_转导学习_归纳学习
    转导推理_归纳推理【Def:传统推理方法:归纳推理】直到今天,传统的推理方法仍然是归纳-演绎法,人们首先用已有信息定义一个一般规则,然后用这个规则来推断所需要的答案(首先从特殊......
  • 英语学习方法(二)
    01.忘记你在学习英语当你学习英语时,你看着看着就哈哈大笑,你忘记了你在学习英语,此时就是学习英语的最好方法.学习英语就是怎么爽,你就怎么来做.因此背单词,学语......