• Java实现二分查找


    一、代码

    package algorithm;
    
    public class BinarySearch {
    
        public static int binarySearch(int[] arr, int key) {
            if (null == arr || arr.length <= 0) {
                return -1;
            }
    
            int left = 0;
            int right = arr.length - 1;
    
            while (left <= right) {
                int middle = (left + right) / 2;
                if (key == arr[middle]) {
                    return middle;
                }
                if (key < arr[middle]) {
                    right = middle - 1;
                } else {
                    left = middle + 1;
                }
            }
    
            return -1;
        }
    
        public static void main(String[] args) {
            int[] arr = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
            System.out.println(binarySearch(arr, 18));
        }
    
    }
    

    二、运行结果

  • 相关阅读:
    python基础 2
    python基础 1
    进程
    进程作业
    上海python14期第二次阶段性考试
    面向对向之元类
    面向对向
    笔试题
    模块(2)
    模块作业
  • 原文地址:https://www.cnblogs.com/wangzaiplus/p/10704239.html
Copyright © 2020-2023  润新知