首页 > 其他分享 >704. 二分查找C

704. 二分查找C

时间:2024-02-26 16:56:48浏览次数:27  
标签:二分 numsSize return 704 mid int tail 查找

现在开始刷代码随想录里的题了。

int search(int* nums, int numsSize, int target) {
    int head=0,tail=numsSize-1;
    while(head<=tail){
        int mid=(head+tail)/2;
        if(nums[mid]<target){
            head=mid+1;
        }else if(nums[mid]>target){
            tail=mid-1;
        }else{
            return mid;
        }
    }
    return -1;
}

没啥好说的,太基础了。

结果:

 

标签:二分,numsSize,return,704,mid,int,tail,查找
From: https://www.cnblogs.com/llllmz/p/18034692

相关文章

  • #分块,二分#洛谷 5356 [Ynoi2017] 由乃打扑克
    题目支持区间加和区间查询第\(k\)小分析分块之后给每个整块排序,这样修改的时候整块打标记,散块直接分开把需要加的部分暴力加之后归并,就是\(O(\sqrt{n})\)的查询的话,如果只有散块直接归并出结果,否则二分答案,加上小块合并成的整块,相当于是整体二分,就是\(O(\sqrt{n}\log{a_......
  • Toyota Programming Contest 2024#2(AtCoder Beginner Contest 341)D - Only one of two
    目录链接题面题意题解代码总结链接D-Onlyoneoftwo题面题意求第\(k\)个只能被\(N\)或\(M\)整除的数题解\([1,x]\)中的能被\(n\)整除的数有\(\lfloor\frac{x}{n}\rfloor\)个\([1,x]\)中的能被\(m\)整除的数有\(\lfloor\frac{x}{m}\rfloor\)个\([1,x]\)中的能被\(n\)......
  • Python数据结构与算法05——二分查找
    二分查找——递归版:defbinarySearch(aimlist,item):#获取列表的长度n=len(aimlist)#如果列表非空ifn>0:#计算中间索引mid=n//2#如果中间元素是目标元素,则找到了ifaimlist[mid]==item:......
  • 洛谷 P4198 楼房重建(线段树上二分)
    传送门解题思路动态维护区间里面单调递增斜率的长度需要维护两个信息:上述长度,和区间最大值(合并时需要)难点在于两个子区间的合并。左区间的楼房一定都能看见(没有遮挡),所以要在右区间二分,找到左面最大值lmax在右区间的位置,然后进行合并。复杂度两个log。AC代码#include<ios......
  • 二叉树查找树遍历
    二叉树查找树遍历存放规则:小的存左边、大的存右边、一样的不存前序、中序、后序指的是当前结点的顺序前序:当前结点、左子节点、右子节点中序:左子节点、当前节点、右子节点后序:左子节点、右子节点、当前结点前序遍历中左右遍历完左树遍历右树从上到下,根节点->从左......
  • wqs二分学习笔记
    wqs二分wqs是用来处理一类带有恰好选K个这种限制的问题我们如果发现这个答案关于k的函数是凸函数,那么就可以二分出斜率,然后拿它去切这个函数设这个直线为\(y=ax+b\),以上凸为例,我们要求截距最大,就是b最大,等价于\(y-ax\)最大,也就是把k限制对应的贡献-a,然后再算答案,然后就可以去......
  • 线段树分治&cdq分治&整体二分
    preface感觉三种分治算法容易搞混并不容易区分它们使用的场景和题目(虽然有些题目根据性质可以使用多种分治),所以还是要归纳一下线段树分治Part1主要是处理一类带有撤回的问题,也就是一次修改只对一段区间生效(这里的区间指的是时间)即区间修改,单点查询流程大致是把区间修改挂在......
  • 最全linux查找漏洞武器大全,快来挑一件你趁手的兵器吧
    最全linux查找漏洞武器大全,快来挑一件你趁手的兵器吧原创 波哥 IT运维技术圈 2024-02-2219:13 广东 听全文Linux下有多种工具和软件可以用来查找系统中的漏洞。以下是一些常用的工具,它们有免费的版本,也有提供更高级的付费版本:1.Nessus简介:Nessus是一款广泛......
  • 整体二分的复杂度
    这里先写如何证明普通整体二分的复杂度是\(O(n\logn\logV)\)的:考虑如何将复杂度卡到这个上限。显然要使得每个询问的答案均匀的分布在值域\([1,V]\)中,也就是在每次值域分半时,操作数(询问和修改)也分半,即:\[\begin{aligned}T(n,V)&=\\&=2T(\frac{n}{2},\frac{V}{2})+n\log......
  • 代码随想录算法训练营day02 | leetcode 977. 有序数组的平方、35.搜索插入位置、34.在
    题目链接:977.有序数组的平方-简单题目描述:给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]......