public static void test(int n){
if(n>2){
test(n-1);
}
System.out.println("n="+n);
}
打眼一看,很low,很简单,4,3,2无疑。
为了验证我的聪明才智,输出一把吧
三、递归调用规则(很重要)
1、执行一个方法时,就创建一个新的受保护的独立空间(栈空间);
2、方法的局部变量是独立的,不会相互影响,比如变量n;
3、如果方法中使用的是引用类型变量(比如数组),就会共享该引用类型的数据;
4、递归必须向退出递归的条件逼近,否则就是无限递归,StackOverflowError;
5、当一个方法执行完毕,或遇到return,就会返回,遵守谁调用就将结果返回给谁,同时当方法执行完毕或return时,该方法也就执行完毕。
四、递归能解决什么样的问题
[](
)1、各种数学问题
比如八皇后问题、哈诺塔、阶乘问题、迷宫问题、球和篮子的问题(Google编程大赛)。
[](
)2、各种算法中也会使用递归
比如快排、归并排序、二分查找、分治算法。
[](
)3、栈解决的问题都可以用递归
代码更加简洁。
五、迷宫问题
1、代码实现
package dataStructure.recursion;
public class Labyrinth {
public static void main(String[] args) {
//迷宫问题
//0 表示该点没有走过 当为 1 表示墙 ; 2 表示通路可以走 ; 3 表示该点已经走过,但是走不通
int[][] map = new int[8][7];
for(int i=0;i<8;i++){
for (int j = 0; j < 7; j++) {
map[0][j] = 1;
map[7][j] = 1;
map[i][0] = 1;
map[i][6] = 1;
}
}
//设置挡板, 1 表示
map[3][1] = 1;
map[3][2] = 1;
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 7; j++) {
System.out.print(map[i][j]+" ");
}
System.out.println();
}
setWay(map,1,1);
System.out.println("迷宫走过之后地图");
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 7; j++) {
System.out.print(map[i][j]+" ");
}
System.out.println();
}
}
//使用递归回溯来给小球找路
//说明
//1. map 表示地图
//2. i,j 表示从地图的哪个位置开始出发 (1,1)
//3. 如果小球能到 map[6][5] 位置,则说明通路找到.
//4. 约定: 当map[i][j] 为 0 表示该点没有走过 当为 1 表示墙 ; 2 表示通路可以走 ; 3 表示该点已经走过,但是走不通
//5. 在走迷宫时,需要确定一个策略(方法) 下->右->上->左 , 如果该点走不通,再回溯
private static boolean setWay(int[][] map,int i,int j){
if(map[6][5] == 2){
# 总结
无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。
**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](https://codechina.csdn.net/m0_60958482/java-p7)**
![面试了阿里,滴滴,网易,蚂蚁,最终有幸去了网易【面试题分享】](https://img-blog.csdnimg.cn/img_convert/3e7919d40a7ac4239089c52ce0e12029.png)
些感触。
最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。
**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](https://codechina.csdn.net/m0_60958482/java-p7)**
[外链图片转存中...(img-A3yMAeJW-1630668794391)]