package com.test;

import java.util.Arrays;

public class BinaraySearch {
    
    public static int search(int key, int[] a) {
        int lo = 0;
        int hi = a.length - 1;
        while (lo <= hi) {
            int mid = lo + (hi - lo) / 2;
            
            if (key < a[mid]) {
                hi = mid - 1;
            } else if (key > a[mid]) {
                lo = mid + 1;
            } else {
                return mid;
            }
        }
        return -1;
    }
    
    public static void main(String[] args) {
        int[] a = new int[] {2,3,19,29,40,11,12,14};
        // 数组必须是有序的
        Arrays.sort(a);
        System.out.println(search(14, a));
    }
        
}

 

相关文章:

  • 2021-10-12
  • 2021-12-01
  • 2021-08-02
  • 2021-09-09
  • 2021-10-09
  • 2022-12-23
  • 2021-08-31
  • 2021-11-20
猜你喜欢
  • 2021-12-11
  • 2021-09-12
  • 2021-06-22
  • 2022-02-24
  • 2021-06-02
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案