E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
二分查找
算法学习笔记:15.
二分查找
——从原理到实战,涵盖 LeetCode 与考研 408 例题
在计算机科学的查找算法中,
二分查找
以其高效性占据着重要地位。它利用数据的有序性,通过不断缩小查找范围,将原本需要线性时间的查找过程优化为对数时间,成为处理大规模有序数据查找问题的首选算法。
呆呆企鹅仔
·
2025-07-12 18:34
算法学习
算法
学习
笔记
考研
二分查找
Java数据结构-----Map和Set
以前常见的搜索方式有:1.直接遍历,时间复杂度为O(N),元素如果比较多效率会非常慢2.
二分查找
,时间复杂度为O(logN),但搜索前
·
2025-07-10 20:19
数据结构:位图
想法一:暴力查找似乎能够解决问题,但显然找一次就要消耗O(N)的时间,这是不能接受的;想法二:问题的本质是查找,因此想到使用高效的
二分查找
:先进行一次O(NlogN)的排序,之后的每次查找都只要O(logN
顾小玙
·
2025-07-10 08:09
数据结构
算法
2025B卷 - 华为OD机试七日集训第4期 - 按算法分类,由易到难,循序渐进,玩转OD(Python/JS/C/C++)
第1天、逻辑分析第2天、逻辑分析第3天、逻辑分析第4天、贪心算法第5天、
二分查找
第6天、字符串处理第7天、字符串处理六、集训总结国内直接使用ChatGPT4o、o3、o4-mini-high、GPT-4.5
哪 吒
·
2025-07-10 04:08
搬砖工逆袭Java架构师
华为od
算法
python
华为OD机试
2025B卷
C++
二分查找
入门指南
一、二分法概述
二分查找
(BinarySearch)是一种在有序数组中查找特定元素的高效算法。
·
2025-07-07 22:01
(面经总结)一篇文章带你整理面试过程中常考的九大排序算法
1.原理2.代码五、希尔排序1.原理2.代码六、归并排序1.原理2.代码七、桶排序八、基数排序九、堆排序1.原理2.代码十、总结1.算法分类2.性能分析一、二分插入排序首先必须是排好序的数组,然后通过
二分查找
南淮北安
·
2025-07-07 17:25
冲刺大厂之面经总结
面经
排序算法
二分插入
冒泡
快速
数据结构:数组:
二分查找
(Binary Search)
目录什么是
二分查找
?查找示例示例一:在数组中查找key=6示例二:查找失败,key=7代码实现递归版本的
二分查找
什么是
二分查找
?我们先问自己:假设我有一个有序数组,我想查找某个数,有没有更快的办法?
95号闪电麦坤
·
2025-07-06 23:26
数据结构
数据结构
算法
算法理论知识
算法理论知识排序
二分查找
冒泡排序插入排序选择排序快速排序堆排序希尔排序归并排序基数排序动态规划排序
二分查找
start=0end=len(list)mid=(start+end)//2冒泡排序每次都是相邻元素两两比较并交换位置
Victor Zhong
·
2025-07-06 19:53
AI
框架
算法
Map和Set
以前常见的搜索方式有:直接遍历,时间复杂度为O(N),元素如果比较多效率会非常慢
二分查找
,时间复杂度为,但搜索前必须要求序列是有序的上述排序比较适合静态类型的查找,即一般不会对区间进行插入和删除操作了,
爱吃小土豆豆豆豆
·
2025-07-06 08:43
java
开发语言
【字节跳动】数据挖掘面试题0005:在旋转有序数组中查找是否存在元素key
要在旋转后的有序数组中以O(logn)时间复杂度查找元素,可利用
二分查找
的变体。关键在于确定哪一半数组仍然有序,并判断目标值是否在该
言析数智
·
2025-07-05 23:22
数据挖掘常见面试题
算法面试题
数据挖掘
二分查找法
代码随想录算法训练营第二十一天|回溯算法理论基础,77. 组合
系列文章目录代码随想录算法训练营第一天|数组理论基础,704.
二分查找
,27.移除元素代码随想录算法训练营第二天|977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II代码随想录算法训练营第三天
丁希希哇
·
2025-07-05 18:13
力扣算法刷题
算法
面试
python
力扣
数据结构
剪枝
LeetCode——
二分查找
(704.
二分查找
,278. 第一个错误的版本,35. 搜索插入位置)
目录练习题目题解704.
二分查找
278.第一个错误的版本35.搜索插入位置练习题目练习题目题目链接704.
二分查找
传送门.278.第一个错误的版本传送门.35.搜索插入位置传送门.题解704.
二分查找
classSolution
荒野大飞
·
2025-07-05 03:00
leetcode
算法
散列表
【学习】《算法图解》第十三章学习笔记:接下来如何做
在前面的章节中,我们已经学习了许多基础而重要的算法,从
二分查找
、快速排序到广度优先搜索、迪杰斯特拉算法,再到动态规划、K近邻算法等。现在,是时候思考如何继续深入学习,拓展我们的算法知识体系了。
·
2025-07-04 17:27
程序员
C++
二分查找
、线性枚举、模拟
二分查找
,伪代码见下functionfindMinGreenIndex(array,len,target)l=-1,r=lenwhilel+1=target线性枚举特点:暴力算法、简单有效、用于开拓思路求最大值的代码
每天搬一点点砖
·
2025-07-04 10:07
c++
开发语言
LeetCode第300题_最长递增子序列
LeetCode第300题:最长递增子序列文章摘要本文详细解析LeetCode第300题"最长递增子序列",这是一道考察动态规划和
二分查找
的中等难度题目。
@蓝莓果粒茶
·
2025-07-02 07:58
算法
leetcode
算法
职场和发展
学习
c#
游戏
python
Python binary search
二分查找
算法详解及源码
二分查找
算法是一种在有序数组中查找特定元素的常用算法。
猿来如此yyy
·
2025-07-02 07:24
Python算法详解及源码
算法
python
排序算法
开发语言
数据库
人工智能
数据结构
python 几种排序方法与
二分查找
#选择排序defselectionSort(arr):#-1虽然有n个数字但是没有第n轮最多n-1轮foriinrange(0,len(arr)-1):forjinrange(i+1,len(arr)):ifarr[i]>arr[j]:arr[i],arr[j]=arr[j],arr[i]print(arr)#冒泡排序defbubbleSort(arr):#-1虽然有n个数字但是没有第n轮最多n-
愤怒的玉米棒
·
2025-07-02 07:24
python学习小结
python
Python
二分查找
库bisect
找暑期实习的时候做到某厂的笔试题里面用到这个,就总结一下。。。1.bisect_left(a,x,lo=0,hi=len(a))功能:在已排序序列a中查找元素x应该插入的位置,并返回最左侧的插入位置(index啊)。区别:如果有多个相同元素,bisect_left返回最左侧的插入位置。默认情况下,查找范围是整个序列a,但可以通过lo和hi参数来限制查找范围。2.bisect_right(a,x,l
来个大包的二重积分
·
2025-07-02 07:23
编程基础
python
算法
排序算法
二分查找
快速理解
二分查找
是一种算法,要求输入是一个有序的元素列表,我们结合程序的话,如果要查找
·
2025-07-01 18:24
【力扣—剑指 Offer(第 2 版)简单题目解析汇总】
【力扣—剑指Offer(第2版)简单题目解析汇总】说明1、基本字符串数组数组-排序矩阵/模拟枚举2、算法动态规划深度优先搜索广度优先搜索递归分治记忆化搜索快速选择
二分查找
3、基础数据结构树(二叉树)二叉搜索树栈队列堆
Wupke
·
2025-07-01 13:53
剑指offer
数据结构与算法学习
LeetCode
leetcode
剑指offer
数据结构与算法
C++ STL常用
二分查找
算法
它属于头文件,并且是基于
二分查找
实现的,因此要求输入序列必须是有序的。
basketball616
·
2025-06-30 22:16
C++基础
算法
c++
数据结构
左神算法之有序二维矩阵中的目标值查找
有序二维矩阵中的目标值查找目录有序二维矩阵中的目标值查找1.题目描述2.问题解释3.解决思路方法一:逐行
二分查找
(适合行数较少的情况)方法二:利用行列有序特性(最优解)4.代码实现5.总结1.题目描述给定一个元素为非负整数的二维数组
岳轩子
·
2025-06-30 02:35
左神算法
算法
矩阵
线性代数
力扣网C语言编程题:在数组中查找目标值位置之
二分查找
法
文章如下:力扣网C语言编程题:在数组中查找目标值位置之暴力解法-CSDN博客本文使用
二分查找
法进行实现,因为
二分查找
法符合题目要求(时间复杂度为O(logn))。
魏劭
·
2025-06-29 08:01
逻辑编程题
C语言
leetcode
c语言
算法
力扣刷题--数组--第一天
一、数组数组特点:连续内存空间存储得数据元素类型一致数组可以通过下标索引查找数据元素,可以删除、替换、添加元素等1.1
二分查找
使用
二分查找
需满足得条件:数组是有序的;数组中没有重复元素;查找的target
高的好想出去玩啊
·
2025-06-29 04:03
刷题
leetcode
算法
python
算法训练营|数组总结
算法执行语句的次数空间复杂度:算法在运行过程中临时占存储空间大小数组(C++):存放在连续内存空间的相同类型固定大小的数据的集合,不能删除,只能覆盖列表(Python):数据可以是不同类型,列表长度可变1.
二分查找
循环不变量原则
慧泽huize
·
2025-06-28 20:00
数据结构
算法
leetcode
python
c++
洛谷 木材加工
二分查找
题目背景要保护环境题目描述木材厂有n根原木,现在想把这些木头切割成k段长度均为l的小段木头(木头有可能有剩余)。当然,我们希望得到的小段木头越长越好,请求出l的最大值。木头长度的单位是cm,原木的长度都是正整数,我们要求切割得到的小段木头的长度也是正整数。例如有两根原木长度分别为11和21,要求切割成等长的6段,很明显能切割出来的小段木头长度最长为5。输入格式第一行是两个正整数n,k,分别表示原木
自由随风飘
·
2025-06-28 16:24
算法练习
算法
数据结构
leetcode
力扣网C语言编程题:搜索二维矩阵(右上角->左下角解法)
一.简介上一篇文章关于"在二维数组中查找某个元素"的问题,提供了两种解题思路,文章如下:力扣网C语言编程题:搜索二维矩阵的普通解法与
二分查找
法-CSDN博客本文提供第三种解题思路:从左下角->右上角,或者右上角
魏劭
·
2025-06-28 10:46
逻辑编程题
C语言
算法
leetcode
c语言
HarmonyOS高效数据检索方案全解析:从原理到实战代码
本文将介绍两种经典的数据检索方法——哈希表和
二分查找
,结合实际场景进行分析,并提供可以直接运行的示例代码。引言随着鸿蒙系统的发展,越来越多的开发者投身于原生应用开发。
·
2025-06-28 07:46
harmonyos
代码随想录算法训练营第一天|704.
二分查找
、35.搜索插入位置、34.在排序数组中查找元素的第一个和最后一个位置、27.移除元素、977.有序数组的平方
LeetCode704
二分查找
题目链接
二分查找
左闭右闭写法classSolution{publicintsearch(int[]nums,inttarget){intleft=0,right=nums.length
天天开心(∩_∩)
·
2025-06-28 00:16
算法
leetcode
数据结构
第十章——搜索
小结‧
二分查找
依赖于数据的有序性,通过循环逐步缩减一半搜索区间来实现查找。它要求输入数据有序,且仅适用于数组或基于数组实现的数据结构。‧暴力搜索通过遍历数据结构来定位数据。
·
2025-06-27 17:26
数的范围(连续数字边界)
所用方法和基本原理该代码使用
二分查找
的方法来解决问题,原理如下:查找起始位置:使用
二分查找
,通过比较中间元素arr[mid]与目标元素k的大小关系,不断缩小搜索区间。
起个数先
·
2025-06-26 16:03
数据结构与算法
算法
java
数据结构
LeetCode第287题_寻找重复数
LeetCode第287题:寻找重复数文章摘要本文详细解析LeetCode第287题"寻找重复数",这是一道考察数组和
二分查找
的中等难度题目。
@蓝莓果粒茶
·
2025-06-25 08:50
算法
leetcode
算法
职场和发展
c#
学习
python
c++
leetcode面试经典150题
leetcode面试经典150题数组/字符串双指针滑动窗口矩阵哈希表区间栈链表二叉树二叉树层次遍历二叉搜索树图图的广度优先搜索字典树回溯分治Kadane算法
二分查找
堆位运算数学一维动态规划多维动态规划数组
Ashiu
·
2025-06-24 06:16
算法
python
python
【学习】《算法图解》第二章学习笔记:数组、链表与选择排序
前言继第一章介绍了算法的基本概念和
二分查找
后,《算法图解》第二章将带领我们进一步探索数据组织的方式,引入了两种基础且重要的数据结构:数组(Array)和链表(LinkedList)。
·
2025-06-23 14:35
程序员
力扣刷题(第六十四天)
二分查找
循环:计算中间版本号mid。若mid是错误版本,说明第一个错误版本在[left,mid]中,更新右边界。若mid不是错误版本,说明第一个错误版本在[mid+1,right]中,更新左边界。
eachin_z
·
2025-06-23 14:57
力扣每日打卡
leetcode
算法
职场和发展
每日leetcode
704.
二分查找
-力扣(LeetCode)题目给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果target存在返回下标,否则返回-1。
XiaoyaoCarter
·
2025-06-22 17:08
leetcode训练
leetcode
算法
职场和发展
c++
二分查找
Python 算法及其架构设计详解
文章目录一、算法基础与架构概述二、经典算法实现与分析1.排序算法-快速排序2.搜索算法-
二分查找
3.图算法-广度优先搜索(BFS)三、算法架构设计模式1.策略模式(StrategyPattern)2.管道
conkl
·
2025-06-22 16:32
python知识
python
算法
开发语言
算法入门:深入理解哈希表(C++实现详解)
数组查找需要O(n)时间,
二分查找
需要O(logn),而哈希表能在平均O(1)时间复杂度内完成查找操作,这种效率提升在数据处理中至关重要。
Jay_515
·
2025-06-22 12:09
哈希算法
算法
C++
多数元素(哈希表 ||
二分查找
)
题目:169.多数元素方法一:二分法,最坏的时间复杂度0(nlogn),但平均0(n)即可。空间复杂度为0(1)。C++版本:intn=nums.size();intl=0,r=n-1;while(ln/2)break;elsel=mid+1;}returnnums[(l+r)/2];JAVA版本:classSolution{publicintmajorityElement(int[]nums){
岁忧
·
2025-06-22 08:44
LeetCode
LeetCode
面试经典
150
题
C++
JAVA
Go版本
leetcode
散列表
算法
java
c++
go
opencv实现点到region最小距离,distance_pr
distance_pr的算子很快使用opencv模仿实现一下halcon的region使用rle编码,还有可能使用凸包优化,simd,
二分查找
,多线程计算,这里只实现基础的功能#include#include
isyoungboy
·
2025-06-21 22:38
opencv
人工智能
计算机视觉
二分查找
法--有序表
思路:1.定义一个方法,再在main()方法里传入数组和自己想要查找的数。2.二分法适用于有序表,首先将给的target与中间位置比较,相等则查找成功,不相等则在前半段或后半段。大于中间位置数在后半段,小于在前半段。缩小范围继续查找,直到找到为止,循环完毕还没有找到返回负一。代码publicclassBinarySearch{publicstaticvoidmain(Stringargs[]){i
weixin_44673899
·
2025-06-21 19:16
技术
二分查找法--有序表
【算法-
二分查找
-python】搜索插入位置
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kuan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越@新空间
·
2025-06-21 19:15
s1
Python
P1
算法与数据结构
算法
python
开发语言
【GIT】git入门到精通的 3200字使用指南,包含关键命令、工作流及高级技巧
包含关键命令、工作流及高级技巧一、Git基础配置二、基础工作流1.仓库初始化2.修改与提交3.远程协作三、分支管理实战四、高级操作技巧1.撤销更改2.储藏(Stashing)3.交互式变基(Rebase)4.
二分查找
夜雨hiyeyu.com
·
2025-06-20 23:14
java
git
后端
源代码管理
gitee
github
代码规范
svn
【力扣刷题|第五天作业】
二分查找
-寻找旋转排序数组中的最小值 II
寻找旋转排序数组中的最小值II力扣题目网址:寻找旋转排序数组中的最小值II这道题和寻找153题很相似,但是这道题我们跟数组最后一个数比较的时候,我们不能确定这个数是在最小值的左边还是在最小值的右边,例如数组3333133和3133333我们第一取mid的时候他是3,而最后一个数也是3,那么我们该判断他是在左边还是右边呢。这时候我们可以舍弃最后一个数,继续二分。如果他是最小值,mid等于最后一个数,
坤小满学Java
·
2025-06-20 22:34
力扣刷题
leetcode
算法
Hot 100 | 240. 搜索二维矩阵 II、160.相交链表、206.反转链表
一、240.搜索二维矩阵II1.解题思路本题采用
二分查找
的方法。(1)对矩阵的每一行进行
二分查找
,首先定义出左边界和右边界的变量,然后计算出中间元素的下标索引,将中间元素与target元素值进行比对。
Accept17
·
2025-06-20 12:50
矩阵
算法
数据结构
c++
二分查找
模板
//最基本的
二分查找
算法intbinary_search(int[]nums,inttarget){intleft=0,right=nums.length-1;while(lefttarget){right
不止有一席地
·
2025-06-20 04:56
c++
C++
二分查找
2.
二分查找
2.1704.
二分查找
-力扣(LeetCode)给定一个n个元素有序的(升序)整型数组nums和一个目标值t
乾坤未定的黑马
·
2025-06-20 04:24
C++
c++
开发语言
算法
二分查找
C++
二分查找
代码
在此给大家附上C++
二分查找
完整代码!如有需要可以直接复制!
·
2025-06-20 00:03
c++常用算法
2.transform(搬运且遍历)二.查找算法1.find`//查找元素2.find_if`//按条件查找元素3.adjacent_find`//查找相邻重复元素4.binary_search`//
二分查找
法
一只小青团
·
2025-06-19 18:44
算法
c++
数据结构
二分查找
算法题
1.
二分查找
搜索算法(注意怎么和面试官描述你的思路)最普通的
二分查找
(注意这里lefttarget){right--;}elseif(nums[mid]nums[mid-1]){left=mid;}else
海形のjava
·
2025-06-19 11:54
算法
leetcode
数据结构
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他