Java简单算法-二分查找

java 复制代码
public class Main{
    public static void main(String[] args){
        int[] arr={10,20,30,40,50,60,70};
        int i =20;
        System.out.println(binarySearch(arr,i));
    }
    public static int binarySearch(int[] arr,int number){
        int min =0;
        int max=arr.length-1;
        while(true){
            if(min>max){
                return -1;
            }
            int mid=(min+max)/2;
            if(arr[mid]>number){
                max=mid-1;
            } else if (arr[mid]<number) {
                min = mid+1;
            }else{
                return mid;
            }
        }
    }

}
相关推荐
John.Lewis6 分钟前
数据结构初阶(13)排序算法-选择排序(选择排序、堆排序)(动图演示)
c语言·数据结构·排序算法
程序员清风7 分钟前
跳表的原理和时间复杂度,为什么还需要字典结构配合?
java·后端·面试
AI小白的Python之路8 分钟前
数据结构与算法-排序
数据结构·算法·排序算法
DashVector17 分钟前
如何通过Java SDK检索Doc
后端·算法·架构
渣哥21 分钟前
Kafka消息丢失的3种场景,生产环境千万要注意
java
渣哥21 分钟前
ElasticSearch深度分页的致命缺陷,千万数据查询秒变蜗牛
java
Olrookie22 分钟前
XXL-JOB GLUE模式动态数据源实践:Spring AOP + MyBatis 解耦多库查询
java·数据库·spring boot
zzz93324 分钟前
transformer实战——mask
算法
柯南二号39 分钟前
【Java后端】MyBatis-Plus 原理解析
java·开发语言·mybatis
又是努力搬砖的一年1 小时前
SpringBoot中,接口加解密
java·spring boot·后端