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

二分查找

时间:2023-11-16 15:46:35浏览次数:27  
标签:二分 arr target int 查找 100

1、二分查找法只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找

2、二分查找法的运行时间为对数时间O(㏒₂n) ,即查找到需要的目标位置最多只需要㏒₂n步,假设从[0,99]的队列(100个数,即n=100)中寻到目标数30,则需要查找步数为㏒₂100 , 即最多需要查找7次( 2^6 < 100 < 2^7)
————————————————
版权声明:本文为CSDN博主「鲨瓜2号」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/aetawt/article/details/122239186

 

 1   /*
 2         二分查找---不使用递归
 3      */
 4     public static int binarySearch(int[] arr, int target) {
 5         int left = 0;
 6         int right = arr.length - 1;
 7         while (left <= right) {
 8             int mid = (left + right) / 2;
 9             if (arr[mid] < target) {
10                 //如果中间值小于查找的值target,往右查找
11                 left = mid + 1;
12             } else if (arr[mid] > target) {
13                 //如果中间值大于target,往左边查找
14                 right = mid - 1;
15             } else {
16                 return mid;
17             }
18         }
19         return -1;
20     }

 

标签:二分,arr,target,int,查找,100
From: https://www.cnblogs.com/xhu218/p/17836423.html

相关文章

  • 网络流与二分图的常见技巧
    stolouis&Maverikorz!写一些知识点,图论杂题过后单独开一篇。最小割最大流最小割定理对于任意网络\(G=(V,E)\),其上的最大流\(f\)和最小割\(\{S,T\}\)总是满足\(|f|=||S,T||\)。即,最大流在数值上等于最小割。最小割的可行边与必须边同一个网络的最小割......
  • 蓝桥杯管道 -- 二分, 区间覆盖
    蓝桥杯管道--二分,区间覆盖原题链接参照执梗大佬的代码,我太菜了wuwuwu......importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;importjava.util.Scanner;/***ClassName:Main12*Package:*Description:**@author:LH寒酥......
  • 递归遍历树形结构,查找目标元素
    树形结构的数据,即源数据:constorigin={"id":"40953897304457339","name":"一级单位","children":[{"id":"52979376890839070","name":"二级单位1",&qu......
  • 力扣-34-在排序数组中查找元素的第一个和最后一个位置
    一、题目力扣地址:https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/description/二、解法思路:也是二分查找相关题目,详细解法看注释fromtypingimportListclassSolution:"""leetcode:34二分查找类题目,与传统二分查......
  • 力扣-704-二分查找
    一、题目力扣链接:https://leetcode.cn/problems/binary-search/description/二、解法思路标准的二分查找题目,常规上有左闭右闭和左闭右开的解法1、左闭右闭classSolution:"""leetcode:704采用左闭右闭的方式,[left,right]区间的定义这就决定了二分法的代......
  • 二叉搜索树的插入 查找 删除
    //1、定义二叉搜索树类,封装查找、插入、删除操作删除最为麻烦,其中对于parent的保存用循环来记录while的条件需多加考虑#include<queue>#include<iostream>usingnamespacestd;classBinaryTreeNode{  private:  intvalue;  BinaryTreeNode*leftChild;......
  • 根据行列标题名称,查找二维数据源的值区域内容!
    1职场实例小伙伴们大家好,随着冬至的到来,天气也是越发的寒冷起来,不少地方竟然飘起了今年第一场早雪,而我们今天要讲解重温一个Excel界热度很高的问题:如何根据行列标题名称,查找二维数据源的值区域内容?如下图所示:A1:D4单元格为数据源区域。数据源区域是一个明显的二维表格式的表格。A列......
  • 35-二分查找
    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(logn) 的算法。 示例1:输入:nums=[1,3,5,6],target=5输出:2示例 2:输入:nums=[1,3,5,6],target=2输......
  • JavaSE day06【排序查找算法,Map集合,集合的嵌套,斗地主案例】测评题
    选择题题目1(多选):下列关于TreeSet集合排序的原理正确的是()选项:​ A.排序方法如果返回的是小于0,代表的是当前元素较小,需要存放在左边​ B.排序方法如果返回的是大于0,代表的是当前元素较大,需要存放在右边​ C.排序此方法如果返回的是0,代表的是当前元......
  • Excel word pdf查找
    importorg.apache.commons.lang.StringUtils;importorg.apache.pdfbox.pdmodel.PDDocument;importorg.apache.pdfbox.text.PDFTextStripper;importorg.apache.poi.ooxml.POIXMLDocument;importorg.apache.poi.openxml4j.opc.OPCPackage;importorg.apache.poi.xssf.......