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
windows&双指针
双指针
思想
双指针
(TwoPointers)是一种常用的算法思想,通过使用两个指针(通常是下标或迭代器)在数组、链表或字符串中协同工作,高效解决一些问题。
六七_Shmily
·
2025-02-14 20:17
算法题
算法
双指针
leetcode_
双指针
125.验证回文串
125.验证回文串如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个回文串。字母和数字都属于字母数字字符。给你一个字符串s,如果它是回文串,返回true;否则,返回false。法1:re.subre.sub()是Pythonre(正则表达式)模块中的一个函数,用于替换字符串中匹配指定正则表达式的部分基本语法:re.sub(patter
MiyamiKK57
·
2025-02-13 16:17
leetcode
算法
职场和发展
【LeetCode Hot100】盛最多水的容器[特殊字符]
双指针
法,Java实现!图文详解,小白也能秒懂!
[LeetCodeHot100]盛最多水的容器
双指针
法,Java实现!图文详解,小白也能秒懂!
AllowM
·
2025-02-13 11:39
算法hot100
leetcode
java
算法
滑动窗口算法笔记(C++)
滑动窗口算法是一种基于
双指针
技巧的高效算法,常用于解决数组或字符串上的一些特定问题.算法讲解基本概念滑动窗口算法可以想象成在一个数组或字符串上有一个固定大小或者可变大小的窗口,该窗口在数组或字符串上从左到右滑动
程序员阿荣
·
2025-02-13 08:16
算法和数据结构
算法
笔记
c++
四数相加II(Map作哈希表);383.赎金信(数组作哈希表);15.三数之和(
双指针
);18.四数之和(
双指针
)
目录LeetCode454.四数相加1.思路2.代码实现3.复杂度分析4.思考Leetcode383.赎金信1.思路2.代码实现3.复杂度分析4.思考Leetcode15.三数之和方法一:
双指针
法1.思路
努力学习的牛宁西
·
2025-02-13 04:45
代码随想录训练营
算法
散列表
leetcode
LeetCode334递增的三元子序列,贪心+
双指针
目录题目描述:思路代码题目描述:思路很自然能够想到使用两个数值来记录最小值和次小值,并且有一个前提--次小值>最小值,那么我们在后面的遍历过程中只要找到一个值大于次小值,结果返回true,如果遍历整个数组都没有找到,结果返回false.我们假设最小值small,次小值mid但是我们对于最小值和次小值的更新策略是什么呢?比如:small>=nums[i],我们就能够直接更新small呢???关键在这
Shallow_Carl
·
2025-02-12 23:03
蓝桥杯
算法
LeetCode
【leetcode 28】27.移除元素==
双指针
==
题链1.双层for循环i–;//因为下标i以后的数值都向前移动了一位,所以i也向前移动一位len–;//此时数组的大小-1classSolution{publicintremoveElement(int[]nums,intval){//1.两层循环intlen=nums.length;for(inti=0;i
椰椰荔枝糖
·
2025-02-12 08:23
刷题
leetcode
算法
职场和发展
java
python-leetcode 23.回文链表
题目:给定单链表的头节点head,判断该链表是否为回文链表,如果是,返回True,否则,返回False输入:head=[1,2,2,1]输出:true方法一:将值复制到数组中后用
双指针
法有两种常用的列表实现
SylviaW08
·
2025-02-11 08:52
leetcode
链表
算法
LeetCode-移除元素、删除有序数组中的重复项
LeetCode-移除元素、删除有序数组中的重复项移除元素数组暴力for循环
双指针
法
双指针
(快慢指针)
双指针
优化(对撞指针)【快慢指针】26.删除有序数组中的重复项务必清晰理解记忆每个变量、每个函数的定义
Emily_ASL
·
2025-02-11 00:48
python
leetcode
算法
python
力扣hot100-
双指针
283.移动零题目:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。示例1:输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0]思想:利用快慢指针将特定元素往后移动,不能让0在慢指针的后面即可defmoveZeroes(self,nums:List[int])->None:"""Donot
行走的小鱼儿
·
2025-02-10 06:55
leetcode
算法
数据结构
力扣80:删除排序数组中的重复项 II
一、
双指针
解法思路:由于数组是有序的,我们可以使用
双指针
法来解决这个问题。我们可以定义两个指针slow和fast分别指向处理后的数组的末尾和当前处理的位置。
菠 罗 吹 雪
·
2025-02-10 06:52
leetcode
算法
数据结构
KMP算法详解 + Python源代码(力扣28. 找出字符串中第一个匹配项的下标,力扣459. 重复的子字符串)
力扣28.找出字符串中第一个匹配项的下标思路(两种方法):1.
双指针
循环:(1)首先遍历文本串haystack,直到有一个字符与模式串needle的第一个字符相同,进入深度匹配(2)深度匹配过程中,将文本串后边几个字符
hanyu1209
·
2025-02-10 06:19
算法
python
leetcode
数据结构
c/c++蓝桥杯经典编程题100道(11)回文数判断
回文数判断c/c++蓝桥杯经典编程题100道-目录-CSDN博客目录回文数判断一、题型解释二、例题问题描述三、C语言实现解法1:整数反转比较(难度★)解法2:字符串
双指针
法(难度★★)解法3:仅反转一半数字
tamak
·
2025-02-09 07:29
算法
c语言
c++
蓝桥杯
c/c++蓝桥杯经典编程题100道(6)字符串反转
字符串反转->返回c/c++蓝桥杯经典编程题100道-目录目录字符串反转整理一、题型解释二、例题问题描述C语言实现解法1:
双指针
交换法(难度★)解法2:递归反转(难度★★)解法3:使用临时数组(难度★☆
tamak
·
2025-02-09 07:59
c语言
c++
蓝桥杯
算法
leetcode15-三数之和
leetcode15思路时间复杂度:O(n2)空间复杂度:O(logn)+O(k)本题主要考虑使用
双指针
法解答,遍历i的时候i固定,然后定义两个指针left和right,通过移动left和right来使得总和相加为
记得早睡~
·
2025-02-08 12:44
算法小课堂
数据结构
leetcode
算法
力扣算法题经典(两数之和、排列组合)-python
先排序,用for循环,
双指针
,while。15.三数之和-力扣(LeetCode)最接近的三数之和。与target最接近,同上,if条件不同而已。
渣渣zheng
·
2025-02-08 09:48
leetcode刷题
leetcode
算法
python
【码道初阶】从2000+ms->0ms
双指针
法的最终优化速通Leetcode633
引言本文将对比一种低效超时的
双指针
遍历法和优化过后的
双指针
遍历法,旨在通过对比代码的方式加深对
双指针
方法的理解运用。
月明长歌
·
2025-02-08 06:26
码道初阶
算法
leetcode
c++
数据结构
刷代码随想录14--哈希表
三数之和(1.5h)15.三数之和-力扣(LeetCode)确实,哈希表适合i,j,k可重复,即遍历a[i],找有没有0-a[i]那么,i,j,k不重复怎么办代码随想录给出了
双指针
法,个人感觉移动有一点像快排整个过程挺一言难尽的
2301_76653605
·
2025-02-06 07:14
散列表
数据结构
三.
双指针
/链表/数组模板
00.AcWing
双指针
模板:寻找单调性#jO(n)活动-AcWingdefmain():a=[0]*100010s=[0]*100010n=int(input())a=list(map(int,input
价值成长
·
2025-02-05 20:49
算法
链表
数据结构
【基础算法(五)
双指针
】
最长连续不重复序列#includeusingnamespacestd;constintN=100010;intarr[N],s[N];intmain(){intn;cin>>n;for(inti=0;i>arr[i];intres=0;for(inti=0,j=0;i1){//超过1次,说明有重复s[arr[j]]--;j++;}res=max(res,i-j+1);}coutusingnames
小新的秃头日常
·
2025-02-05 19:11
算法
数据结构
c++
【码道初阶】Leetcode680:验证回文串的
双指针
速解以及提升思维的感想
——
双指针
法的艺术一、问题描述给定一个字符串s,最多允许删除一个字符。请判断该字符串是否能成为回文字符串。若可以,返回true;否则返回false。
月明长歌
·
2025-02-04 20:28
码道初阶
算法
leetcode
c++
数据结构
c语言
hot 100刷题小结 1
找到数组中所有消失的数字位运算题338比特位计算题136只出现一次的数字题461汉明距离二分查找题4寻找两个正序数组的中位数题33搜索旋转排序数组题34在排序数组中查找元素的第一个和最后一个位置题240搜索二维矩阵2
双指针
题
leisure_SU
·
2025-02-04 11:17
算法
双指针
算法深度解析
双指针
算法简介
双指针
是一种常用的算法技巧,它通过使用两个指针在数据结构上进行操作,通常用来优化时间复杂度,解决数组或链表中的一些特定问题。
某个默默无闻奋斗的人
·
2025-02-04 11:13
双指针
算法
java
leetcode
离散化、贪心、
双指针
、二分、倍增、构造、位运算
目录八、离散化1、离散化简介九、贪心1、贪心的概念十、
双指针
1、
双指针
简介2、对撞指针3、快慢指针十一、二分1、二分的概念2、二分的两种模板十二、倍增1、定义十三、构造1、定义十四、位运算1、位运算概述八
那只狸花猫吖
·
2025-02-03 04:05
蓝桥杯
算法
二叉搜索树中的众数(力扣501)
为了方便计数,我们使用
双指针
法,一旦发现当前且节点和前一个节点相同(指的是按照中序遍历的顺序的前一个),则累加该数字的次数。将出现次数最多的数字放入结果数组中。但是如何找到出现次数最多的呢?
qy发大财
·
2025-02-03 03:00
leetcode
算法
数据结构
验证二叉搜索树(力扣98)
双指针
法和适合解决这个问题,一个指针指向当前节点,另一个指针指向前一个节点(指的是按照中序遍历顺序的前一个节点),不断后移两个指针,两两进行比较。这只是大致思路,大家可以结合我的代码以及注释加以理解。
qy发大财
·
2025-02-03 03:28
leetcode
算法
职场和发展
数据结构
hot100刷题第1-9题,三个专题哈希,
双指针
,滑动窗口
求满足条件的子数组,一般是前缀和、滑动窗口,经常结合哈希表;区间操作元素,一般是前缀和、差分数组数组有序,更大概率会用到二分搜索目前已经掌握一些基本套路,重零刷起leetcodehot100,套路题按套路来,非套路题适当参考gpt解法。一、梦开始的地方,两数之和classSolution:#注意要返回的是数组下标deftwoSum(self,nums:List[int],target:int)->
小泽爱刷题
·
2025-02-02 20:32
LeetCode
Hot100
刷题题解
python3
哈希算法
算法
python算法和数据结构刷题[3]:哈希表、滑动窗口、
双指针
、回溯算法、贪心算法
回溯算法「所有可能的结果」,而不是「结果的个数」,一般情况下,我们就知道需要暴力搜索所有的可行解了,可以用「回溯法」。回溯算法关键在于:不合适就退回上一步。在回溯算法中,递归用于深入到所有可能的分支,而迭代(通常在递归函数内部的循环中体现)用于探索当前层级的所有可能选项。组合问题39.组合总和-力扣(LeetCode)给你一个无重复元素的整数数组candidates和一个目标整数target,找出
励志成为美貌才华为一体的女子
·
2025-02-02 19:29
数据结构与算法
算法
数据结构
散列表
LeetCode每日刷题:两个数组的交集
可以不考虑输出结果的顺序解题思路:
双指针
+排序:先将数组利用sort方法进行排序,然后分别定义下标index1和index2分别遍历数组1和数组2,与此同时建立一个新数组(数组长度为两个数组之间较短的那一个数组长度
一般般的每日刷题
·
2025-02-01 22:32
leetcode
算法
利用
双指针
一次遍历实现”找到“并”删除“单链表倒数第K个节点(力扣题目为例)
Problem:19.删除链表的倒数第N个结点文章目录题目描述思路复杂度Code题目描述思路1.欲找到倒数第k个节点,即是找到正数的第n-k+1、其中n为单链表中节点的个数个节点。2.为实现只遍历一次单链表,我们先可以使一个指针p1指向链表头部再让其先走k步,此时再让一个指针p2指向单链表的头部接着使其同p1一起往后走,当p1指向单链表的尾部空指针时(即p1=null)时停止,此时p2指向的即为正
LNsupermali
·
2025-01-31 04:06
力扣题目
leetcode
算法
职场和发展
LeetCode 16. 排列序列
遍历固定一个元素:遍历数组中的每个元素作为三个数中的第一个数,固定该元素后,使用
双指针
在剩余的子数组中寻找另外两个数。
努力的小诚
·
2025-01-29 21:33
《LeetCode算法全集》
数据结构
算法
双指针
华为OD机试 - 有效子字符串 -
双指针
(Python/JS/C/C++ 2024 D卷 100分)
一、题目描述输入两个字符串S和L,都只包含小写字母,len(S)<=100,len(L)<=500000。判断S是否是L的有效子字符串。判定规则:S中的每个字符在L中都能找到(可以不连续),且S在L中字符的前后顺序与S中顺序要保持一致。例如:S="ace"是L="abcde"的一个子序列,且有效字符是a、c、e,而"aec"不是有效子序列,且有效字符只有a、e(因为相对位置不同)。二、输入描述输入
哪 吒
·
2025-01-29 12:11
华为od
python
javascript
华为OD机试(D卷+C卷+A卷+B卷)2024真题目录(全、新、准)
一、逻辑分析二、数据结构1、线性表①数组②
双指针
2、map与list3、队列4、链表5、栈6、滑动窗口7、二叉树8、并查集9、矩阵三、算法1、基础算法①贪心思维②二分查找③分治递归④回溯⑤全排列递归⑥排序算法
哪 吒
·
2025-01-29 12:10
搬砖工逆袭Java架构师
华为od
A卷
B卷
C卷
D卷
相向
双指针
拿O(1)的时间获取O(n)的信息,进而将时间复杂度减低相应的题目两数之和三数之和四数之和这里都运用双向指针来降低时间复杂度,难度依次上升。最终都化为了两数之和的问题解题难点记录对于重复元素的处理外层元素如果重复,直接跳过(判断条件要判断是否为第一个元素,避免越界)双向指针部分(利用下面这段代码,来跳过重复元素)for(pre++;nums[pre]==nums[pre-1];pre++);语法学
memorycx
·
2025-01-29 09:11
算法
02数组+字符串+滑动窗口+前缀和与差分+
双指针
(D5_
双指针
)
目录一、基本介绍二、算法思想三、算法模型1.对撞指针2.快慢指针3.滑动窗口一、基本介绍
双指针
是一种应用很广泛且基础的算法,严格来说
双指针
不是算法更像是一种思想。
Java丨成神之路
·
2025-01-29 03:41
06数据结构与算法
java
前端力扣刷题 | 5:hot100之 普通数组
法一:
双指针
初始化:res用来存储当前的最大和,初始值为负无穷大。left是子数组的左边界,但它并不在实际计算中起作用,因
酒酿泡芙1217
·
2025-01-28 21:56
力扣hot100
leetcode
前端
算法
【代码随想录:数组】python3
数组Day1704.二分查找,27.移除元素704二分查找35搜索插入位置34在排序数组中查找元素的第一个和最后一个位置27移除元素:
双指针
977.有序数组的平方209.长度最小的子数组:最小滑窗904
zzzmy159
·
2025-01-28 06:35
代码随想录
leetcode
LEETCODE#448找到数组中消失的数
1.排序后
双指针
vectorfindDisappearedNumbers(vector&nums){intnum1=nums.size();sort(nums.begin(),nums.end());nums.erase
Azanulbizar
·
2025-01-27 09:37
LEETCODE
力扣11题盛最多水的容器 c语言解题思路
1.第一种解法:
双指针
如果是c语言学完,在判断这题的
Y_ahwh
·
2025-01-27 07:55
leetcode
c语言
算法
1_相向
双指针
_leetcode_16_4
16.最接近的三数之和给你一个长度为n的整数数组nums和一个目标值target。请你从nums中选出三个整数,使它们的和与target最接近。返回这三个数的和。假定每组输入只存在恰好一个解。示例1:输入:nums=[-1,2,1,-4],target=1输出:2解释:与target最接近的和是2(-1+2+1=2)。示例2:输入:nums=[0,0,0],target=1输出:0解释:与targ
maybe_YX
·
2025-01-27 07:55
leetcode
leetcode
算法
python
c++
代码随想录1.22
文章目录704二分查找27移除元素977有序数组的平方209长度最小的数组59.螺旋矩阵II58区间和704二分查找注意定义一个计数器,判断循环结束,不然会超时27移除元素
双指针
,用一个快指针一个慢指针
我会非常幸运
·
2025-01-27 02:53
代码随想录跟练记录
算法
数据结构
c++
力扣
【代码随想录】第一章-数组
在排序数组中查找元素的第一个和最后一个位置69.x的平方根367.有效的完全平方数2移除元素27.移除元素26.删除有序数组中的重复项283.移动零844.比较含退格的字符串Method1:退格操作-快慢
双指针
bblb
·
2025-01-26 14:25
代码随想录
算法
数据结构
java
链表相交问题(
双指针
法)(java和c语言)
方法:
双指针
一种高效的方法是使用两个指针,分别从两个链表的头部开始遍历。当一个指针到达链表末尾时,它切换到另一个链表的头部继续遍历。
野犬寒鸦
·
2025-01-26 10:20
链表
c语言
算法
java
LeetCode HOT-100 分类总结
文章目录二分搜索排序滑动窗口哈希表位运算前缀和
双指针
图二叉树回溯贪心:动态规划:背包问题:单调栈(辅助栈):并查集LRU缓存小技巧二分搜索【NO.4】LeetCodeHOT100—4.寻找两个正序数组的中位数
悬浮海
·
2025-01-25 16:54
#
LeetCode
HOT
100
leetcode
算法
HOT-100分类总结
【Day1 Leetcode 】二分查找和
双指针
一、二分查找1.1二分查找704这题比较简单,是二分查找的入门题,主要是要注意二分区间的写法,我个人是比较喜欢左闭右闭的写法。代码如下:classSolution{public:intsearch(vector&nums,inttarget){intleft=0,right=nums.size()-1;while(lefttarget)right=mid-1;elseleft=mid+1;}ret
银河梦想家
·
2025-01-24 17:33
leetcode
算法
链表 7. 环形链表II
双指针
分别从head和相遇
zarathustra000
·
2025-01-24 00:22
小白的代码随想录刷题笔记
Mophead的小白刷题笔记
leetcode
代码随想录
链表
leetcode206-反转链表
leetcode206思路考虑使用
双指针
的方式来进行反转,定义一个pre指针,指向需要反转的位置,cur指针代表当前位置,一层层进行反转,中间需要一个临时指针也就是代码中的node,因为一旦反转,之前的链路就断开了
记得早睡~
·
2025-01-23 12:25
算法小课堂
链表
数据结构
leetcode
算法
双指针
第二类
vectorsort(vector&A){intk=A.size()-1;vectorresult(A.size(),0);//定义一个新数组for(inti=0,j=A.size()-1;i<=j;){if(A[i]*A[i]<A[j]*A[j]){result[k--]=A[j]*A[j];j--;}else{result[k--]=A[i]*A[i];i++;}}returnresult;}
笔耕不辍cj
·
2025-01-22 16:16
算法
数据结构
delete the Node
思路用
双指针
,快慢指针就可以了,这个问题很简单,链表的问题最好还是要有虚拟头结点。
笔耕不辍cj
·
2025-01-22 14:29
javascript
开发语言
ecmascript
算法
数据结构与算法再探(五)贪心-
双指针
-滑动窗口
贪心算法贪心算法是一种常用的算法设计策略,旨在通过局部最优选择来构建全局最优解。它的基本思想是:在每一步选择中,都选择当前看起来最优的选项,而不考虑后续的影响。贪心算法通常用于解决最优化问题,尤其是在某些特定条件下能够得到全局最优解的问题1、分发饼干455.分发饼干-力扣(LeetCode)假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个
刀客123
·
2025-01-21 20:35
数据结构与算法
算法
上一页
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
其他