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

二分查找

时间:2023-11-28 16:25:00浏览次数:36  
标签:二分 下标 有序 峰值 查找 数组

二分查找

二分查找,一般是在一个有序的数组上的,但不一定要在一个有序的数组上,(比如寻找峰值问题),总之只要可以确定答案在某一边,就可以使用二分查找。

寻找峰值

力扣题目链接

解题思路

  1. 如果数组的大小是1,根据题目的要求,它一定就是峰值,直接返回
  2. 判断下标0和下标n - 1是不是峰值,如果是直接返回它们的下标
  3. 然后我们就可以二分了

现在我们来证明一下,为什么一定存在峰值,并且可以二分

 

所以不一定要在有序的数组上才能二分,只要能确定答案一定在某一侧,那么我们就可以去二分。二分搜索的时间复杂度是O(logN)。

标签:二分,下标,有序,峰值,查找,数组
From: https://www.cnblogs.com/lwj1239/p/17860695.html

相关文章

  • 文件查找,打包压缩及解压
    搜索查找类 find查找文件或者目录find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端find[搜索范围][选项]选项 功能-name<查询方式> 按照指定的文件名查找模式查找文件-user<用户名> 查找属于指定用户名所有文件-size<文件大小> 按照指定的文件大......
  • Linux文件查找,打包压缩及解压
    1.文件查找1.1which命令:which命令的功能是用于查找命令文件,能够快速搜索二进制程序所对应的位置。如果我们既不关心同名文件(find与locate),也不关心命令所对应的源代码和帮助文件(whereis),仅仅是想找到命令本身所在的路径,那么这个which命令就太合适了。语法格式:which[参数]文件参......
  • C++U4-第06课-二分答案
    上节课作业解析链接:https://pan.baidu.com/s/1QCDg1GXb5HhrpkPgomOCyg?pwd=s4b4提取码:s4b4二分答案学习目标二分查找单调性意思 二分答案单调性 二分答案的思路[【二分答案】砍树(简单版)]枚举每一棵树,注意当锯片高度高于树的高度时砍的树木是0。#include<io......
  • SQLServer字符串查找(判断字符串是否含中文,数字或字母),并把是否含中文作为条件来执行
    转载自:SQLServer字符串查找(判断字符串是否含中文,数字或字母),并把是否含中文作为条件来执行一些操作-亟待!-博客园(cnblogs.com)从sqlserver中提取数据如何截取字符1、LOCATE(substr,str):返回子串substr在字符串str中第一次出现的位置,如果字符substr在字符串str中不......
  • Linux文件查找,打包,压缩及解压
    1.find命令:2.find命令用于在文件系统中搜索文件和目录。3.例如,要在/home目录下查找所有以.txt结尾的文件,可以使用:find/home-name"*.txt"。4.grep命令:5.grep命令用于在文件中搜索特定模式。6.例如,要在当前目录下的所有文件中查找包含"keyword"的行,可以使用:grep"keyw......
  • C++ 查找文本文件中字符串是否存在
    简介查找文本文件中字符串是否存在代码#include<iostream>#include<fstream>#include<vector>#include<string>usingnamespacestd;boolSearchString(stringfilePath,stringstrF){vector<string>lines;stringline;ifst......
  • (查找)01-二分查找-a
    1importjava.util.*;23publicclassSolution{4/**5*@paramnumsint整型一维数组6*@paramtargetint整型7*@returnint整型8*/9publicintsearch(int[]nums,inttarget){10//从左开始遍历的指......
  • 文件查找
    文件查看echo命令可以查看变量PATH的值#echo$PATH which命令用来查看位置信息#whichuseradd//查看位置    locate命令可以让用户快速查看所需要的文件或目录,它不搜索全部数据信息,而是搜索数据库/var/lib/mlocate.db,该数据库包括本地系统内所有文件......
  • Linux文件查找,打包压缩及解压
    1.文件查找1.1使用 find 命令通过find命令查找系统中的文件:find/path/to/search-name"filename"例如,查找当前用户主目录下所有以.txt结尾的文件:find~/-name"*.txt"find命令还可以根据指定大小查找例如,在/etc目录下查找大于5Mib的文件find/etc/size+5M1.2......
  • 数字在排序数组中出现的次数--二分
    题目描述有序序列二分先对左端点进行二分再对右端点二分最后得到两个端点,直接相减+1,得到区间个数classSolution{public:intgetNumberOfK(vector<int>&nums,intk){if(nums.empty())return0;intl=0,r=nums.size()-1;while(l<r......