算法练习-二分查找

public class test1 {

/**

* @param args

*/

/*文字说明

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

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

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

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

* 设mid=(i+j)/2

* 如果target<A[mid]说明 target在mid的左边

* 所以j=mid-1

* 如果target<A[mid]说明target在mid的右边

* 所以 i=mid+1

* A[mid]=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>arr[mid]){

i=mid+1;

}

if(target<arr[mid]){

j=mid-1;

}

if(arr[mid]==target){

return mid;

}

}

return -1;

}

}

相关推荐
南龙大魔王1 分钟前
spring ai Alibaba(SAA)学习(二)
java·人工智能·spring boot·学习·ai
ZBritney1 分钟前
JAVA中的异常二
java·开发语言
weixin_307779132 分钟前
Jenkins Pipeline:Groovy插件全解析:从原理到实战应用
开发语言·ci/cd·自动化·jenkins·etl
EXtreme357 分钟前
【数据结构】打破线性思维:树形结构与堆在C语言中的完美实现方案
c语言·数据结构·算法··heap·完全二叉树·topk
汤姆yu7 分钟前
基于springboot的运动服服饰销售购买商城系统
java·spring boot·后端
cici158748 分钟前
含风电场的十机24时系统机组出力优化算法
人工智能·算法·机器学习
柯南二号11 分钟前
【后端】【Java】一文深入理解 Spring Boot RESTful 风格接口开发
java·spring boot·restful
Jul1en_12 分钟前
【Spring】实现验证码功能
java·后端·spring
WolfGang00732113 分钟前
代码随想录算法训练营Day45 | 101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
算法·深度优先
2301_7644413314 分钟前
PMC政策文本量化评估
python·算法·信息可视化