**
先写一个随机数组生成函数
再写一个暴力求解函数
再写一个二分法函数
循环打印,产生任意随机数组,验证暴力求解和二分法求解是否一致,一致则正确,不一致则错误,打印出错误例子方便后面寻找bug
[打印出错误例子](https://editor.csdn.net/md?articleId=122718241)
**
package cn.Text;
import java.util.Arrays;
/**
* 二分法
* 一次找一半,比较找位置/数字(num)保证有序
* 注:我们中点位置一般去上中点
* 135679上中点为5
*/
public class Dichotomy {
/**
*二分法查找
*/public static boolean find(int[] arr,int num){
//TODO 边界条件,先剔除掉不符合条件的一部分
if((arr==null)||(arr.length==0)){
return false;
}
//TODO 左边界
int L=0;
//TODO 有边界
int R=arr.length-1;
/**
* arr的[L...........R]之间查找一个数num
*/
while(L<=R){
int media=(L+R)/2;
if(arr[media]==num){
return true;
}
else if(arr[media]
文章图片
【java|对数器验证算法正确性----bug寻找,文章中含有测试源码】代码来源于B站,侵权请联系删除
推荐阅读
- 区块链|教程丨三分钟教你制作专属NFT智能合约
- java|访问Github速度很慢以及解决方法(系统通用)
- java|深入理解JavaScript作用域和作用域链
- JavaWeb|基于Java开发的CMS内容管理系统
- 多线程|盘点认证协议 : 普及篇之ADFS , WS-Federation
- java|guava ratelimit
- java|multipart/form-data中boundary的作用
- java|java8 stream collect方法
- java|springcloud-alibaba springSecurity整合oauth2 授权码模式