
分析:
使用层序遍历即可;
import java.util.*;
/**
* @program: 个人demo
* @description: 每次都是pass
* @author: Mr.Hu
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {// 注意,如果输入是多个测试用例,请通过while循环处理多个测试用例
String s= in.next();
String[] a=s.split(",");
System.out.println(cishu(Integer.parseInt(a[0]),Integer.parseInt(a[1])));
}
}
static int cishu(int a,int b){
if (a==b) return 0;
List<bian> list=new ArrayList<>();
list.add(new bian(a,0));
while (!list.isEmpty()){
bian tem=list.remove(0);
if (tem.num==b) return tem.ceng;
else if (tem.num<-100 ||tem.num>100) continue;
list.add(new bian(tem.num+1,tem.ceng+1));
list.add(new bian(tem.num-1,tem.ceng+1));
list.add(new bian(tem.num*2,tem.ceng+1));
}
return -1;
}
static class bian{
int num;
int ceng;
public bian(int num, int ceng) {
this.num = num;
this.ceng = ceng;
}
}
}
本文深入探讨了层序遍历算法的实现细节,通过一个具体案例,展示了如何使用Java进行层序遍历来解决特定问题。代码示例中包含了自定义类和方法,用于跟踪节点数和层级,为理解层序遍历提供了清晰的路径。

1974

被折叠的 条评论
为什么被折叠?



