首页 > 其他分享 >1.二分查找

1.二分查找

时间:2022-08-30 20:13:28浏览次数:67  
标签:二分 return nums int 复杂度 mid 查找

1.模板

int search(vector<int>& nums, int target) {
    int l=0;
    int r=nums.size();
    int mid;
    while(l<r){
        mid=(l+r)/2;
        if(nums[mid]<target){
            l=mid+1;
        }else if(nums[mid]>target){
            r=mid;
        }else{
            return mid;
        }
    }
    return -1;
}

2.分析

在数组范围内不断缩小范围为一半,最后没找到l=r

3.复杂度分析

时间复杂度:O(log n),其中 n 是数组的长度。
空间复杂度:O(1)。

标签:二分,return,nums,int,复杂度,mid,查找
From: https://www.cnblogs.com/lwx11111/p/16640638.html

相关文章

  • leetcode704基本二分查找
    intsearch(vector<int>&nums,inttarget){intl=0;intr=nums.size()-1;cout<<r<<endl;intmid;while(l<r){mid=(l+r)/2;......
  • leetcode35二分查找并插入
    intsearchInsert(vector<int>&nums,inttarget){intl=0;intr=nums.size();intmid=0;while(l<r){mid=(l+r)/2;......
  • leetcode278二分变形
    longlongfirstBadVersion(intn){longlongl=1;longlongr=n;longlongmid=1;//执行完之后l=r即为答案while(l<r){......
  • 用java实现二分查找
    /***调用erfen方法,输入数据int[]s={0,1,2,3,4,5}和8,输出方法的返回值*/publicclassErfen{ publicintsearch(int[]nums,inttarget){ intl=0; intr=nums.l......
  • 二分图
    二分图可以将一个图分为两部分,这两部分内部没有边,都是由一部分连向另外一部分那么就称这个图为二分图染色法判别二分图如何判断二分图不含奇数环是一个充要条件只要......
  • 关于二分查找法(Java)
    二分查找法是将一个有序数组平均分成两份,将其中间数和对应要查找的值进行比较;例如现在我们将数组中最小的元素的下标设置为min最大的元素的下标设置max中间的元素下标mi......
  • python基础.内置函数(二),递归函数,二分法
    python基础.内置函数(二),递归函数,二分法  一.lamda匿名函数为了解决一些简单的需求而设计一句话函数 lambda表示的是匿名函数.不需要用def来声明, 一句话......
  • 二分图最大匹配数量,匈牙利算法求解 python
    二分图最大匹配数量,匈牙利算法求解python,本质上是找增广回路"""#File:hungary.py#Time:2022/8/2821:08#Author:notomato#Description:#"""......
  • 模拟赛 d (扫描线,三维偏序,线段树合并,并查集,线段树上二分)
    PRO题目大意:给定$N$个矩形,求连通块个数。($1\leqN,x_1,x_2,y-1,y_2\leq100000$)SOL乍一看就能知道是扫描线,不过这题的细节恐怖的要命。(std同样看不懂,自己魔改了一......
  • 2022-8-28 每日一题-二分查找-剑指offer-字典树
    793.阶乘函数后K个零难度困难122收藏分享切换为英文接收动态反馈 f(x) 是 x! 末尾是0的数量。回想一下 x!=1*2*3*...*x,且 0!=1 。例如, ......