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;
            }
        }
    }

}
相关推荐
NE_STOP3 小时前
Vide Coding--AI编程工具的选择
java
通信小呆呆4 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
码云数智-园园4 小时前
C++20 Modules 模块详解
java·开发语言·spring
程序员黑豆4 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程
benben0444 小时前
强化学习之DQN算法族(基于gymnasium开发)
算法
小宇宙Zz4 小时前
Maven依赖冲突
java·服务器·maven
swordbob4 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
咖啡八杯5 小时前
GoF设计模式——享元模式
java·spring·设计模式·享元模式
小小工匠5 小时前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化