zoukankan      html  css  js  c++  java
  • 二分查找_14

    public int binarySearch(int[] nums, int target) {
            
            int l = 0;
            int r = nums.length-1;
            while(l<=r)
            {
                int mid = (l+r)/2;
                if(nums[mid]==target)
                    return mid;
                if(nums[mid]<target)
                    l = mid+1;
                else
                    r = mid-1;
            }
            return l;
        }

    给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1

    样例

    在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2

    挑战

    如果数组中的整数个数超过了2^32,你的算法是否会出错?

    工作小总结,有错请指出,谢谢。
  • 相关阅读:
    SpringBoot笔记
    SpringBoot面试篇
    多线程篇
    Tomcat篇
    Redis篇
    Nginx篇
    JVM篇
    MySQL篇
    python ETL工具 pyetl
    python通用数据库操作工具 pydbclib
  • 原文地址:https://www.cnblogs.com/zilanghuo/p/5215407.html
Copyright © 2011-2022 走看看