算法练习-二分查找

public class test1 {

/**

* @param args

*/

/*文字说明

* 需求:在有序数组A中查找1target

* 如果找到返回索引,如果找不到返回-1

* 设n为数组长度;i=0;j=n-1

* 如果i>j,结束查找,没找到

* 设mid=(i+j)/2

* 如果target<Amid说明 target在mid的左边

* 所以j=mid-1

* 如果target<Amid说明target在mid的右边

* 所以 i=mid+1

* Amid=tartget说明找到了,返回mid

* */

public static void main(String\[\] args) {

// TODO Auto-generated method stub

int \[\]arr={1,2,3,4,5};

System.out.println(Basic(arr,4));

}

public static int Basic(int arr\[\],int target){

int n=arr.length;

int i=0,j=n-1;

while(i<=j)

{

int mid=i+(j-i)/2;//防止整数溢出

if(target>arrmid){

i=mid+1;

}

if(target<arrmid){

j=mid-1;

}

if(arrmid==target){

return mid;

}

}

return -1;

}

}

相关推荐
\光辉岁月/2 分钟前
15.JavaSE-网络
java·开发语言·网络
const_qiu3 分钟前
第二章 2.4:搭建 Monorepo 骨架 + 共享包 @autix/contracts
java·人工智能·arcgis
兰亭妙微UI设计公司8 分钟前
兰亭妙微软件界面设计公司的解锁按钮设计10大密码
开发语言·前端·javascript
人邮异步社区14 分钟前
C语言好学,还是Python好学?
c语言·开发语言·python
zx_7414848123 分钟前
YOLOv3 核心原理详解:Darknet-53 架构、多尺度预测与 FPN 特征融合
算法·yolo·目标检测·yolov3
MoRanzhi120323 分钟前
122.四平方和(暴力枚举)
python·数学·算法·蓝桥杯·完全平方数·暴力枚举·四平方和定理
倒头就睡的小比特25 分钟前
贪心算法介绍
算法·贪心算法
栈帧之外32 分钟前
【C++】红黑树实现
开发语言·c++
程序员老陆33 分钟前
C++中同一个回调函数被多个设备并发调用:并发问题不在“函数”,而在“状态”
开发语言·c++·程序设计
wangchunyu11436 分钟前
JDK8新特性实战(Lambda、Stream、Optional)
java·开发语言