算法练习-二分查找

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;

}

}

相关推荐
怕浪猫1 小时前
Electron 系列文章封面图
算法·架构·前端框架
plainGeekDev1 小时前
null 判断 → Kotlin 可空类型
android·java·kotlin
糖拌西瓜皮1 小时前
Java开发者视角:深入理解Node.js异步编程模型
java·后端·node.js
plainGeekDev1 小时前
getter/setter → Kotlin 属性
android·java·kotlin
一线大码2 小时前
Smart-Doc 的简单使用
java·后端·restful
MacroZheng3 小时前
Claude Code官方桌面端正式发布,夯爆了!
java·人工智能·后端
虚无境3 小时前
如何编写一个SpringBoot项目告警推送的Starter
java·prometheus·webhook
徐小夕3 小时前
JitWord 3.0 正式发布,高精度Word异构解析+复杂组件兼容,打造web端协同Word编辑器
前端·vue.js·算法
NE_STOP18 小时前
Vide Coding--AI编程工具的选择
java