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

二分查找

时间:2023-11-09 21:27:21浏览次数:28  
标签:二分 arr right int mid 查找 left

int binarysearch(int *arr, int n, int a)//n-元素总个数,a-目标元素
{
  int left = 0;
  int right = n + 1;
  while (right - left != 1)
  {
    int mid;
    mid = (left + right) / 2;
    if (arr[mid] < a)
      left = mid;
    else
    right = mid;
  }
  return right;
}

标签:二分,arr,right,int,mid,查找,left
From: https://www.cnblogs.com/zeeeero/p/17822836.html

相关文章

  • 二分图笔记
    一些定理一、最小点覆盖=最大匹配即,选一些点染色,要求图中所有边至少有一端被染色。证明:涂色方案:设匹配点为红点,未匹配点为蓝点。易知,一对匹配的红点,最多只有一个点会连接蓝点。将这个连接了蓝点的点染色。合法性:所有匹配边显然已经合法了,考虑非匹配边。非匹配边有一个性质:它......
  • 牛客[编程题] HJ27 查找兄弟单词
    HJ27 查找兄弟单词  描述定义一个单词的“兄弟单词”为:交换该单词字母顺序(注:可以交换任意次),而不添加、删除、修改原有的字母就能生成的单词。兄弟单词要求和原来的单词不同。例如:ab和ba是兄弟单词。ab和ab则不是兄弟单词。现在给定你n个单词,另外再......
  • c++简单的二分查找
    ints(intshuzu[],intlen,intx){ intlow=0,hight=len-1,mid; while(low<=hight) { mid=(low+hight)/2; if(shuzu[mid]==x)returnshuzu[mid]; elseif(shuzu[mid]<x)hight=mid-1; elselow=mid+1; } return-1;}i......
  • 相似重复类似相同相近图片照片相片素材屏保搜索查找识别标记清理
    图片清理重复照片相片除重去重重复图片管理软件工具APP相似图片查找清理模糊匹配图片相似场景匹配系统文件扫描清理去重比DuplicateCleanerPro,DuplicatePhotoCleaner更方便实用全盘扫描重复文件清楚删除图片整理照片整理C盘清理高效办公个人照片管理相册管理文档管理数......
  • 论文查找
      Ctrl+Shift+N 打开无痕窗口,然后访问ConnectedPapers网站 https://www.connectedpapers.com/ ,可无限卡bug。 ......
  • 二分图博弈 - 二分图·博弈
    二分图·博弈顾名思义:二分图+博弈二分图首先先知道一些基本方法:求出二分图最大匹配所必须的点或边,就是求去掉这个点(边)过后最大匹配还是不是原来的最大匹配。复杂度更优的方法是先跑一遍Dinic求出最大流的任意解与这种解下每条边的残量。分别从原点、汇点开始tarjan......
  • 二分查找
    一、二分查找其本质就是找一个区间二、整数二分2.1.查找左边界的模板intfindPrior(intleft,intright,inttarget){ while(left<right){ intmid=(left+right)/2; if(a[mid]>=target)right=mid; elseleft=mid+1; } if(a[left]==target......
  • Linux p12 查找指令
    搜索查找指令find指令find指令将从指定目录向下递归的遍历其各个子目录,将满足条件的文件或者目录显示在终端。基本语法find[搜索范围(指定目录)][选项]选项说明选项功能-name<查询方式>按照指定的文件名查找模式查找文件-user<用户名>查找属于指定用户名......
  • 二叉查找树的实现C/C++
    二叉查找树是一种关键字有序存放的二叉树。在不含重复关键字的二叉查找树中,关键字"较小"的节点一定在关键字“较大”的节点的左子树中,“较小”一般可以由内值类型的<运算符来实现,或由重载了<运算符的类类型的<运算符来实现。“较小”的概念可以根据我们的需要有不同的实现。本文实......
  • L-4: 34--在排序数组中查找元素的第一个和最后一个位置
    给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1,-1]。你必须设计并实现时间复杂度为 O(logn) 的算法解决此问题。 示例1:输入:nums=[5,7,7,8,8,10],tar......