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
算法刷题-二分查找
十二、常见算法和Lambda
十二、常见算法和Lambda一、常见算法1.1查找算法1.基本查找*2.
二分查找
/折半查找*3.插值查找*4.斐波那契查找阶段总结5.分块查找*6.哈希查找7.树表查找1.2排序算法1.冒泡排序2.选择排序
秦慕逸
·
2024-02-10 11:50
JAVA
算法
java
学习C语言的第4天
二分法查找时间复杂度在计算机科学中,
二分查找
算法,也称折半搜索算法,是一种在有序数组中查找某一特定元素的搜索算法想要应用
二分查找
法,则这一堆数应有如下特性:1、存储在数组中2、有序排序搜索过程从数组的中间元素开始
blxx
·
2024-02-10 08:54
学习
c语言
算法
力扣231. 2 的幂(数学,
二分查找
,位运算)
的幂为正数;2.易得2的幂用二进制表示只能有一个位为数字13.即将其转换为二进制统计其二进制1的个数思路2:数学当给定数n大于1时,每次当n模2等于0时(此时是2的幂)每次将n除以2最后判断n是否为1思路3:
二分查找
我们从
LNsupermali
·
2024-02-10 07:55
力扣题目
leetcode
算法
职场和发展
算法刷题
day09
目录引言一、买不到的数目二、蚂蚁感冒三、饮料换购四、摘花生引言今天做的是数学和简单dp,做完了之后发现其实就是要背,像一些公式和做题的思路,有些题是大同小异的,只要记住做题的思路,在写新题的时候就会发现其实用到的思想是一样的,所以得继续做题。一、买不到的数目标签:数学思路:就记住公式就行了题目描述:小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的
lijiachang030718
·
2024-02-10 05:13
算法
算法
c++
图论
算法刷题
DAY29
491.递增子序列//不能进行排序,因为会改变原序列顺序→区别集合(无序)//在所有树节点收获结果(同子集)//子集问题(在所有结点收集结果)不用return(会在for循环判断条件自动返回)/***Returnanarrayofarraysofsize*returnSize.*Thesizesofthearraysarereturnedas*returnColumnSizesarray.*Not
毅凉
·
2024-02-10 05:12
算法
数据结构
leetcode
c语言
c++
力扣
算法刷题
Day10 | 栈与队列:用栈实现队列 用队列实现栈
:力扣题目:232.用栈实现队列刷题时长:30min解题方法:第二个栈作为临时的辅助空间。在队列需要pop操作的时候,将第一个栈内元素依次pop后push进第二个栈内,直至第一个栈内仅剩最后一个元素。完成pop队首元素后,将第二个栈内的所有元素依次pop并push回第一个栈内。复杂度分析:pop操作O(n^2)?问题总结将stack2仅作为临时空间倒来倒去,重复操作较为低效本题收获输入栈(stac
m0_73817408
·
2024-02-10 05:12
算法
数据结构
算法刷题
day11
20.有效的括号//总共只有三种不匹配的情况://字符串扫描完,栈内仍剩余一个括号//括号不匹配//字符串扫描到一个右括号但栈已空//遇到一个左括号则将相应类型的一个右括号压栈(方便后续匹配)boolisValid(char*s){intmy_stack[10000]={'\0'};inttop=0;if(strlen(s)%2!=0)returnfalse;//剪枝(第一种情况)for(intj
毅凉
·
2024-02-10 05:42
算法
c++
java
c语言
算法刷题
DAY5
有效的字母异位词boolisAnagram(char*s,char*t){inthash[26]={0};inti=0;while(s[i]!='\0'){hash[s[i]-'a']++;//printf("%d||%d",hash[s[i]-'a'],s[i]-'a');//测试i++;}//printf("\n");//测试i=0;while(t[i]!='\0'){printf("%c",
毅凉
·
2024-02-10 05:41
算法
哈希算法
c语言
算法刷题
DAY8
344.反转字符串voidreverseString(char*s,intsSize){intleft=0,right=sSize-1;while(left#includeintmain(void){char*s=(char*)calloc(100000,sizeof(char));//要在堆上申请空间,不然会报越界//要申请远大于10000,(假设都是数字→要5万空间)scanf("%s",s)
毅凉
·
2024-02-10 05:41
算法
数据结构
c语言
算法刷题
DAY10
LeetCode:232.用栈实现队列//两个栈,负负得正→先进先出//题目都是合法操作,不用判断操作是否合法(如对空栈进行弹栈)typedefstruct{intstack_in[100];intstack_out[100];intstack_in_top;intstack_out_top;}MyQueue;MyQueue*myQueueCreate(){MyQueue*p=(MyQueue*)
毅凉
·
2024-02-10 05:41
算法
数据结构
c语言
算法刷题
DAY2
有序数组的平方//双指针//最大值只会在数组两头取得→双指针//i=j的元素也要取→i=(nums[j]*nums[j])){result[k--]=nums[i]*nums[i];i++;}else{result[k--]=nums[j]*nums[j];j--;}}209长度最小的子数组//滑动窗口intminSubArrayLen(inttarget,int*nums,intnumsSize
毅凉
·
2024-02-10 05:11
算法
数据结构
c语言
算法刷题
DAY3
移除链表元素//利用虚拟头结点统一删除头结点和非头结点的操作//不要用头结点来遍历链表,不然最后无法返回头结点→定义一个临时指针来遍历//cur指向dummy_head而不是dummy_head->next因为删除结点要知道前驱/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/s
毅凉
·
2024-02-10 05:11
算法
c语言
算法刷题
DAY4
24.两两交换链表中的节点/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNode*swapPairs(structListNode*head){structListNode*dummy_head=(structListNode*)malloc(sizeof
毅凉
·
2024-02-10 05:11
算法
c语言
算法刷题
day10
目录引言一、最长上升子序列二、地宫取宝三、波动数列引言今天是大年三十,提前祝大家新的一年天天开心,事事如意,过年把身体精神修养好后,年后继续朝着目标奋斗,然后加油吧!一、最长上升子序列标签:简单DP思路:枚举每个a[i],再枚举判断过的,如果a[i]>a[j],那么找到最大的f[j]+1与当前的f[i]比较,最后寻找到最大的以i结尾的最长上升子序列题目描述:给定一个长度为N的数列,求数值严格单调递
lijiachang030718
·
2024-02-10 05:40
#
算法刷题
算法
c++
动态规划
算法刷题
Day 46 单词拆分+多重背包问题
Day46动态规划139.单词拆分classSolution{public:boolwordBreak(strings,vector&wordDict){unordered_setwordSet(wordDict.begin(),wordDict.end());vectordp(s.size()+1,false);dp[0]=true;for(inti=1;i
benobug
·
2024-02-10 05:40
算法
leetcode 81搜索旋转排序数组2 C++
利用
二分查找
1.左半部分增序,target在左边则进行
二分查找
。2.右半部分增序,target在右边则进行
二分查找
。
吉野原
·
2024-02-10 05:32
leetcode刷题记录
c++
leetcode
leetcode81 搜索旋转排序数组 II
文章目录1.解法2.原题[81.搜索旋转排序数组II](https://leetcode.cn/problems/search-in-rotated-sorted-array-ii/)1.解法使用
二分查找
南方乌鸦
·
2024-02-10 04:58
算法
数据结构
leetcode
整数
二分查找
单调性与二分的关系:有单调性一定可以二分,用二分不一定是单调性。(二者没有直接的关系)二分的本质不是单调性而是边界点(找符合条件的最小的数或者最大的数)。找到一个性质,使得我们可以把整个区间一分为二,一半满足,一半不满足,二分就可以寻找这个性质的边界。boolcheck(intx){/*...*/}//检查x是否满足某种性质//模板一//区间[l,r]被划分成[l,mid]和[mid+1,r]时使
Yao yn
·
2024-02-10 02:11
算法
c++
(C++)
二分查找
法
//
二分查找
法(左闭右闭写法)intbinarySearch(vectorarr,inttarget){sort(arr.begin(),arr.end());//使用
二分查找
法的前提是数组有序intl
是一只努力的小菜鸡啦
·
2024-02-09 20:57
c++
算法
「优选
算法刷题
」:外观数列
一、题目给定一个正整数n,输出外观数列的第n项。「外观数列」是一个整数序列,从数字1开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1)="1"countAndSay(n)是对countAndSay(n-1)的描述,然后转换成另一个数字字符串。前五项如下:1.12.113.214.12115.111221第一项是数字1描述前一项,这个
爱敲代码的罗根
·
2024-02-09 19:26
详解算法题
算法
深度优先
开发语言
leetcode
java
职场和发展
数据结构
「优选
算法刷题
」:只出现一次的数字
一、题目给你一个非空整数数组nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。示例1:输入:nums=[2,2,1]输出:1示例2:输入:nums=[4,1,2,1,2]输出:4示例3:输入:nums=[1]输出:1提示:1<=nums.length<=3*104-3*104<=n
爱敲代码的罗根
·
2024-02-09 19:56
详解算法题
算法
leetcode
数据结构
哈希算法
贪心算法
排序算法
深度优先
时间复杂度和空间复杂度
内存中管理数据--数据结构--快/小/带电存储硬盘中管理数据--数据库/文件--慢/大/不带电存储顺序表优点:1.下标的随机访问(排序,
二分查找
)2.cpu高速缓存命中率高(cpu读取数据会将一段长度的内存放入缓存区
Amnesia0_0
·
2024-02-09 03:48
算法
数据结构
代码随想录算法训练营第二十二天|216.组合总和III,17.电话号码的字母组合
系列文章目录代码随想录算法训练营第一天|数组理论基础,704.
二分查找
,27.移除元素代码随想录算法训练营第二天|977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II代码随想录算法训练营第三天
丁希希哇
·
2024-02-09 00:54
力扣算法刷题
算法
面试
力扣
蓝桥OJ 1389
二分查找
数组元素
#includeusingnamespacestd;intmain(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);intdata[200];for(inti=0;i>n;intl=-1,r=199;while(l+1!=r){intmid=(l+r)>>1;//等价于除以2if(data[mid]>=n)r=mid;elsel=mid;}cout
懒羊羊oo
·
2024-02-08 19:16
蓝桥杯备赛练习
算法
c++
【C++】二叉搜索树
在以前,我们查找效率最快的也就是一个
二分查找
。但是
二分查找
的前提必须是一个有序的数组。那么,我们有没有什么好的结构来帮助我们
柒海啦
·
2024-02-08 17:30
C++
c++
开发语言
二分查找
原来这么简单
二分查找
(Binarysearch)是一种非常重要的算法,他的时间复杂度为O(logn),它的主要思想是从中间开始,像有100个数据,那么他就是这样搜的:(l是左端指针,r是右端指针,m是未查过的数据的中间
Lazy_doghead
·
2024-02-08 16:58
算法
二分查找
(非递归)
args){int[]array={1,3,5,7,9,11,13,15,17,19};HalfSerachhs=newHalfSerach();hs.halfSerach(array,5);}/***
二分查找
RalapHao
·
2024-02-08 14:20
B-树的详解
文章目录一、B-树的提出二、B-树的定义三、B-树的查找四、B-树的插入4.1分裂4.2再分裂五、B-树的删除5.1旋转5.2合并补充:B+树一、B-树的提出从严格意义上讲,B-树并不是
二分查找
树。
铁头娃撞碎南墙
·
2024-02-08 10:30
数据结构与算法
B树
B-树
数据结构
平衡二叉树
【学习笔记】编码能力
、基本2.1数组2.2字符串2.3排序2.4矩阵2.5模拟2.6枚举2.7字符串匹配2.8桶排序2.9计数排序2.10基数排序3、算法3.1动态规划3.2深度优先搜索3.3贪心3.4广度优先搜索3.5
二分查找
踏流星
·
2024-02-08 09:00
学习
数据结构
算法
知识图谱
手写双向链表
双向链表是指每个节点都包含两个指针分别指向其前驱和后继的链表,双向链表在遍历时更灵活,可以向前或向后遍历,在查找元素时也可以使用
二分查找
来提高效率。
怀念小兔
·
2024-02-08 09:35
【LeetCode: 239. 滑动窗口最大值 + 滑动窗口 + 单调队列】
算法题
算法刷题
专栏|面试必备算法|面试高频算法越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨作者简介:硕风和炜,CSDN-Java领域优质创作者,保研|国家奖学金|高中学习JAVA|大学完善
硕风和炜
·
2024-02-08 05:42
LeetCode每日一题打卡
面试必须掌握的101题
leetcode
算法
java
面试
滑动窗口
单调队列
单调栈
【LeetCode: 73. 矩阵置零 + 矩阵】
算法题
算法刷题
专栏|面试必备算法|面试高频算法越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨作者简介:硕风和炜,CSDN-Java领域优质创作者,保研|国家奖学金|高中学习JAVA|大学完善
硕风和炜
·
2024-02-08 05:11
面试必须掌握的101题
leetcode
矩阵
算法
java
面试
模拟
leetcode--在排序数组中查找元素的第一个和最后一个位置
解题思路:双指针/
二分查找
法(官网)给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。
出门遇见山
·
2024-02-08 02:27
二分查找
给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4classSolution{public:intsearch(vector&nums,inttarget){intleft=0;int
ToxicantC
·
2024-02-07 23:00
算法
数据结构
算法刷题
day08
目录引言一、完全二叉树的权值二、地牢大师三、全球变暖四、大臣的旅费五、总结引言今天的刷题刷的是双指针跟BFS,其中包括了图的BFS,以及怎么去建图的问题,还是慢慢练,慢慢就熟悉了,然后还有一些竞赛中要用到的数学函数还是得记记多多积累!一、完全二叉树的权值标签:双指针算法思路:就是规定一个起点,然后再走固定的个数,再一判断就行了,再把个数左移一位题目描述:给定一棵包含N个节点的完全二叉树,树上每个节
lijiachang030718
·
2024-02-07 23:58
#
算法刷题
算法
图论
数据结构
算法刷题
day07
目录引言一、日志统计二、献给阿尔吉侬的花束三、红与黑四、交换瓶子五、总结引言今天就是搞双指针跟BFS的,这个都是最基础的题啊,所以看着没那么难,之后会找题去写的,然后就这样吧。一、日志统计标签:双指针算法思路:一般这种思路就是遍历日志/订单,然后用双指针,终点从0开始动,然后判断起点到终点的时间段是否满足,不满足那就指针前移,相应的东西就要减,最后判断是否满足条件题目描述:小明维护着一个程序员论坛
lijiachang030718
·
2024-02-07 23:57
#
算法刷题
算法
图论
算法刷题
day06
目录引言一、移动距离二、日期问题三、航班时间四、外卖店优先级五、逆序对的数量六、总结引言今天是刷题的第六天的看看之前刷过的题基本快刷的差不多了,然后就开始刷一写新的题了。今天搞得是模拟和枚举和归并排序,关于这个归并排序我才感受到,这个模板一定要多写,写多了,自己心里都能想出来,然后每个地方细节也就能更加深刻理解了,加油吧!一、移动距离标签:模拟思路:首先像这种要确定行号和列号的,从0开始才能算出来
lijiachang030718
·
2024-02-07 23:27
#
算法刷题
算法
数据结构
力扣刷题记录(Java)(一)
两数相加个人版本一官方版本个人版本二无重复字符的最长子串个人版本一官方版本其他版本一串联所有单词的子串个人版本一官方版本其他版本一找到字符串中所有字母异位词个人版本一个人版本二官方版本一官方版本二寻找两个正序数组的中位数个人版本一官方版本一(
二分查找
愿你被这个世界温暖相待
·
2024-02-07 19:10
算法记录
leetcode
java
链表
278. 第一个错误的版本
这个看完解析了发现确实是一个很普通的
二分查找
问题,但是需要注意一下边界,我感觉
二分查找
的边界值我需要想想,每道题都是,难道是我没有完全领会精髓吗?
含泪若笑
·
2024-02-07 18:30
c语言用函数实现
二分查找
用自定义函数,实现
二分查找
算法。
买菜也会讲价的小白
·
2024-02-07 18:44
c语言
数据结构
算法
C++
二分查找
相关函数用法总结
一、lower_bound()函数函数lower_bound(begin,end,num)在begin和end中的前闭后开区间,进行
二分查找
。返回从begin开始的第一个大于或等于val的元素的地址。
pipi糖
·
2024-02-07 18:13
C++
查找算法--01 顺序查找和
二分查找
目录1.顺序查找1.1顺序查找介绍1.2顺序查找适用范围1.3顺序查找代码实现2.
二分查找
2.1
二分查找
介绍2.2
二分查找
适用范围2.3
二分查找
代码实现2.3.1
二分查找
简单代码实现2.3.2
二分查找
代码优化
江南野栀子
·
2024-02-07 18:42
#
Python
算法
算法
二分查找
python
C++的
二分查找
函数
一、背景lower_bound()和upper_bound(),binary_search()都是利用
二分查找
的方法在一个排好序的数组中进行查找的。
物随心转
·
2024-02-07 18:12
C++
c++
算法
开发语言
二分查找
法(函数binary_search)
目录定义复杂度解析函数binary_search代码实现运行结果总结定义
二分查找
也叫折半查找,是一种高效率的查找方法,但是折半查找方法要求顺序存储结构,按关键字大小有序排列。
Fly upward
·
2024-02-07 18:10
C语言知识
c语言
算法
数据结构
用stl函数来实现
二分查找
算法日记(一)_m0_61723200的博客-CSDN博客之前在这篇文章用的是自定义函数的方法进行
二分查找
的,今天我会用stl函数进行
二分查找
.binary_search:查找某个元素是否出现,返回bool
forget hurt
·
2024-02-07 18:10
算法
c++
二分查找
stl
二分查找
-函数实现
写一个
二分查找
函数功能:在一个升序数组中查找指定的数值,找到了就返回下标,找不到就返回-1.intbin_search(intarr[],intleft,intright,intkey)//arr是查找的数组
洛城苏御
·
2024-02-07 18:39
C语言刷题日记
c#
力扣:1351. 统计有序矩阵中的负数
每次思考都是一次进步1、简单做法,一行一行的去做
二分查找
。
宋轻云
·
2024-02-07 18:37
力扣个人刷题题解
leetcode
矩阵
算法
【
二分查找
】leetcode 1351. 统计有序矩阵中的负数
1351.统计有序矩阵中的负数题目描述给你一个m*n的矩阵grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。请你统计并返回grid中负数的数目。示例1:输入:grid=[[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]输出:8解释:矩阵中共有8个负数。示例2:输入:grid=[[3,2],[1,0]]输出:0提示m==grid.lengt
lele_ne
·
2024-02-07 18:36
算法之路
#
二分查找
矩阵
leetcode
算法
Leetcode1351. 统计有序矩阵中的负数
Leetcode1351.统计有序矩阵中的负数1.问题描述2.思路2.1思路1暴力2.2思路2
二分查找
3.代码3.1思路1代码funccountNegatives(grid[][]int)int{res
皮卡猴
·
2024-02-07 18:35
leetcode刷题
算法
数据结构
排序算法
leetcode 1351.统计有序矩阵中的负数
这里作者就不用暴力的法解了,这里用
二分查找
的方法给大家解释一下。思路:由于我们看到题目要求说是一个非递增的数组,所以我们想着在每一行里面用二分,时间复杂度也就可能是O(nlogn)。
是小Y啦
·
2024-02-07 18:33
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
其他