查找--二分查找(Binary Search)

二分查找属于静态查找表,当以有序表表示静态查找表时,查找函数可用折半查找来实现。

查找过程:先确定待查记录所在的范围(区间),然后逐步缩小范围直到找到或找不到该记录为止。

以处于区间中间位置记录的关键字和给定值比较,若相等,则查找成功,若不等,则缩小范围,直至新的区间中间位置记录的关键字等于给定值或者查找区间的大小小于0时(表明查找不成功)为止。

[1,1]左闭右闭时包含一个元素1,则中间值-1;

[1,1)左闭右开时不包含元素1,则中间值不用-1;

注意数组下标值和数组值;

此处以LeetCode 704题为例:

class Solution {public int search(int[] nums, int target) {int left=0;int right=nums.length-1;while(left<=right){int middle=(right-left)/2+left;int mid=nums[middle];if(mid>target){right=middle-1;}else if(nums[middle]<target){left=middle+1;}else if(nums[middle]==target){return middle;}}return -1;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/783340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux appimage如何正确打开

在之前的文章中&#xff0c;提到使用appimage软件非常方便。 但是首次使用会遇到这样的问题&#xff1a; 1. 双击打不开 2. 在终端打开提示&#xff1a; /home/roy/software/appimage/Obsidian-1.5.11.AppImage dlopen(): error loading libfuse.so.2 AppImages require …

Python下载bing每日壁纸并实现win11 壁纸自动切换

前言: 爬虫哪家强,当然是python 我是属于啥语言都用,都懂点,不精通,实际工作中能能够顶上就可以。去年写的抓取bing每日的壁纸&#xff0c;保存到本地&#xff0c;并上传到阿里云oss&#xff0c;如果只是本地壁纸切换&#xff0c;存下来就行&#xff0c;一直想做个壁纸站点&…

vuees6新语法

vue的学习网站&#xff1a; https://www.runoob.com/vue2/vue-tutorial.html1.Vue的介绍 学习目标 说出什么是Vue能够说出Vue的好处能够说出Vue的特点 内容讲解 【1】Vue介绍 1.vue属于一个前端框架&#xff0c;底层使用原生js编写的。主要用来进行前端和后台服务器之间的…

CubeIDE 下如何将版本号和日期关联。

1. 使用__DATE__ 和__TIME__获取编译日期和时间。 2. 将__DATE__ 和__TIME__转换成UINT 3. 将转换后的数赋值给版本号。 4. 设置工程保证每次都会重新编译对应文件。 对应函数如下&#xff1a; uint8_t VER_MAIN; uint8_t VER_SUB; uint8_t VER_MIN; #include <stdlib.…

我为什么愿意当韭菜

这几年&#xff0c;为了提升自己&#xff0c;我给无数的我认为优秀的人和课付过费。但我从来不认为自己有被割过韭菜。 如果非要说是韭菜&#xff0c;那我认为这个社会每个人都是韭菜&#xff0c;就看是甘愿被割&#xff0c;还是不甘愿。没办法&#xff0c;只有被割才能获得自己…

Python|OpenCV-实现检测人脸以及性别检测(12)

前言 本文是该专栏的第13篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 性别检测是计算机视觉领域里面的一个重要学习领域,简单的来说,它可以实现自动识别一张图片中的人物性别。为此在本文中,笔者将结合OpenCV和Tensorflow来实现对一张图进行“图片中的人物人…

PTA L2-043 龙龙送外卖

龙龙是“饱了呀”外卖软件的注册骑手&#xff0c;负责送帕特小区的外卖。帕特小区的构造非常特别&#xff0c;都是双向道路且没有构成环 —— 你可以简单地认为小区的路构成了一棵树&#xff0c;根结点是外卖站&#xff0c;树上的结点就是要送餐的地址。 每到中午 12 点&#…

OSCP靶场--Access

OSCP靶场–Access 考点( 文件上传[黑名单apache.htaccess绕过] Kerberoasting SeManageVolume滥用提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.216.187 -sV -sC -Pn --min-rate 2500 -p- Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-3…

高端的电子画册,手机打开你见过吗?

手机阅读的高端电子画册&#xff0c;你见过吗&#xff1f;随着移动互联网的发展&#xff0c;越来越多的人选择在手机上阅读电子画册&#xff0c;而不是传统的纸质画册。这种趋势不仅节省了纸张资源&#xff0c;还提升了阅读体验。用户可以通过触摸屏幕、放大缩小、翻页等操作与…

腾讯研发部分编程题汇总做题笔记---Java

朋友圈(后端开发卷) 现在有 105 个用户&#xff0c;编号为 1- 105&#xff0c;现在已知有 m 对关系&#xff0c;每一对关系给你两个数 x 和 y &#xff0c;代表编号为 x 的用户和编号为 y 的用户是在一个圈子中&#xff0c;例如&#xff1a; A 和 B 在一个圈子中&#xff0c; B…

【C++】标准库类型string

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 string类简介 在实际开发中会经常使用字符串,所谓的字符串就是指一连串的字符,它由许多单个字符连接而成。字符串中可以包含任意任意字符,这些字符必须包含在一对英文双引号( " …

论文笔记:基于多粒度信息融合的社交媒体多模态假新闻检测

整理了ICMR2023 Multi-modal Fake News Detection on Social Media via Multi-grained Information Fusion&#xff09;论文的阅读笔记 背景模型实验 背景 在假新闻检测领域&#xff0c;目前的方法主要集中在文本和视觉特征的集成上&#xff0c;但不能有效地利用细粒度和粗粒度…

10.python的字典dict(上)

10.python的字典dict(上) 什么是字典 在计算机科学中&#xff0c;字典是一种数据结构&#xff0c;用于存储键值对&#xff08;key-value pair&#xff09;的集合。每个键值对都由一个唯一的键和一个对应的值组成。字典能够快速地根据键找到对应的值&#xff0c;因此在很多编程…

Linux 常见性能分析方法论介绍(业务负载画像、下钻分析、USE方法论,检查清单)

写在前面 博文内容为 《BPF Performance Tools》 读书笔记整理内容涉及常用的性能调优方法论介绍&#xff1a;业务负载画像下钻分析USE方法论检查清单理解不足小伙伴帮忙指正 不必太纠结于当下&#xff0c;也不必太忧虑未来&#xff0c;当你经历过一些事情的时候&#xff0c;眼…

二维码门楼牌管理应用平台建设:构建智慧社区新生态

文章目录 前言一、二维码门楼牌管理应用平台概述二、公益报名功能的实现方式三、二维码门楼牌管理应用平台在智慧社区建设中的作用四、结论与展望 前言 随着科技的快速发展&#xff0c;智慧城市建设已成为现代城市管理的重要方向。二维码门楼牌管理应用平台作为智慧社区建设的…

从零打造一款基于Nextjs+antd5.0的中后台管理系统

hi, 大家好&#xff0c;我是徐小夕&#xff0c;最近在研究nextjs, 为了更全面复盘总结nextjs&#xff0c; 我写了一个开箱即用的基于 next 的后台管理系统, 供大家学习参考. github地址&#xff1a;https://github.com/MrXujiang/next-admin 演示地址&#xff1a;http://next-a…

java AIO为什么用的并不多

Java AIO的本质是什么 原文&#xff1a;https://blog.csdn.net/hellojackjiang2011/article/details/131322757?spm1001.2101.3001.6650.1&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-131322757-blog-103915337.235%5Ev43%5Epc_blo…

python实验2

一、实验目的 掌握不同文件类型的读写掌握目录遍历的方法掌握json解析器的设计与实现 二、实验内容读取文件内容素数写入文件输出文件目录读写json文件实现json解析器 三、实验环境 在Educoder平台进行实验 四、实验要求 根据每个实训的每个关卡要求完成代码提交和测评 五、 实…

物联网实战--入门篇之(五)嵌入式-IIC驱动(SHT30温湿度)

目录 一、IIC简介 二、IIC驱动解析 三、SHT30驱动 四、总结 一、IIC简介 不管是IIC还是串口&#xff0c;亦或SPI&#xff0c;它们的本质区别在于有各自的规则&#xff0c;就是时序图&#xff1b;它们的相同点就是只要你理解了时序图&#xff0c;你就可以用最普通的IO引脚模…

RAG:检索增强生成系统如何工作

随着大型语言模型&#xff08;LLM&#xff09;的发展&#xff0c;人工智能世界取得了巨大的飞跃。经过大量数据的训练&#xff0c;LLM可以发现语言模式和关系&#xff0c;使人工智能工具能够生成更准确、与上下文相关的响应。 但LLM也给人工智能工程师带来了新的挑战&#xff…