二分查找法(Binary Search)是一种高效的查找算法,用于在有序数组中查找特定元素。其基本思想是通过反复将搜索范围折半,逐步缩小查找的范围,从而快速找到目标元素。
这里有个小游戏可以快速理解:
主持人给出一个数字以及数字所在的范围,让嘉宾以最快的速度去猜这个数字是多少?
import java.util.Random;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//随机出一个 [1,200]] 范围之间的数字
Random random = new Random(); // 生成随机数的工具类
int n = random.nextInt(200) + 1; // random.nextInt(200):生成的随机数是 0~199,所以要1~200 就要+1
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print("请输入您猜的数字:");
int num = sc.nextInt();
if(num > n) {
System.out.println("您猜的数字大了!!");
} else if(num < n) {
System.out.println("您猜的数字小了!!");
} else {
System.out.println("您猜对了!!");
break;
}
}
System.out.println(n);
}
}
效果展示: