zoukankan      html  css  js  c++  java
  • 算法-二分法查询

    1、二分法查询

        public static void main(String[] args) {
            int[] array = new int[]{1, 4, 3, 2, 6, 5, 8, 9, 7};
            int target = 9;
            boolean flag = findTarget(target, array);
            System.out.println(flag);
        }
    
        public static boolean findTarget(int target, int[] array) {
            if (null == array || array.length == 0) {
                return false;
            }
            Arrays.sort(array); //排序从小到大
            int start = 0;
            int end = array.length;
            int mid = (start + end) / 2;
            while (true) {
                System.out.println(String.format("start:%s,end:%s,mid:%s", start, end, mid));
                if (start > end || mid >= array.length) {
                    return false;
                }
                if (array[mid] == target) {
                    return true;
                } else if (array[mid] < target) {
                    start = mid + 1;
                    mid = (start + end) / 2;
                } else if (array[mid] > target) {
                    end = mid - 1;
                    mid = (start + end) / 2;
                }
            }
        }
    

    认识不足,才可发展……

    如果转载,注明出处。

    缘于生活,而归于工作。本人所书,而意于分享。 如有转载,请注明出处! --活出自己范儿
  • 相关阅读:
    2.1 CDN Bypass
    4.1 SQL Injection
    ztosec/secscan-authcheck 安装部署教程
    浏览器的内部构造
    左右值的概念
    网络安全学习路线
    Python+Typora博客图片上传
    微信欢乐五子棋辅助
    [SUCTF 2019]EasySQL
    [护网杯 2018]easy_tornado (SSTI)
  • 原文地址:https://www.cnblogs.com/Small-sunshine/p/14575547.html
Copyright © 2011-2022 走看看