zoukankan      html  css  js  c++  java
  • LeetCode35-搜索插入位置(二分查找)

    1、在一个排序的数组里面,寻找一个目标值,并且没有重复数字,很自然就想到了二分查找

    2、如果没找到,要找应该插入的位置。

    整个的思路就是,先用二分查找,然后在返回值里面+1或-1,反正应该插入的地方就是旁边嘛,但是发现直接写下来,i和j就是返回值了。美滋滋

    通过区间,有无意义来记忆二分查找的写法,的确很容易

    public int searchInsert(int[] nums, int target) {
            //[0,len)开区间
            int i=0,j=nums.length;
    
            //因为是前闭后开,i=j的时候,其实就是没有意义了
            while(i<j){
    
                int mid = (i+j)/2;
                if(nums[mid]==target)
                    return mid;
                if(target<nums[mid])
                    j=mid;//因为开区间,刚好没有取到mid
                else
                    i=mid+1;//闭区间,为了不取到mid,只能+1
    
            }
    
            return j;
        }

    超过了100%,美滋滋

  • 相关阅读:
    k8s蓝绿
    nginx总结
    promethues监控 之 TCP连接数
    制作私有ssl证书
    redis命令
    zabbix主机自动发现
    Kubernetes各组件服务重启
    linxu下常用命令
    encodeURIComponent
    查询条件
  • 原文地址:https://www.cnblogs.com/weizhibin1996/p/9338379.html
Copyright © 2011-2022 走看看