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
LeetCode-双指针
代码随想录day08| 344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串
目录344反转字符串541反转字符串II剑指Offer05替换空格151翻转字符串里的单词剑指Offer58-II左旋转字符串344反转字符串题目链接看到题目的第一想法:使用
双指针
直接交换首尾元素,而后两指针分别向右和向左移动
小哒学Java
·
2024-01-17 03:20
代码随想录算法学习
leetcode
算法
数据结构
代码随想录day8|344. 反转字符串、541. 反转字符串 II、剑指 Offer 05. 替换空格、151. 反转字符串中的单词、剑指 Offer 58 - II. 左旋转字符串
344.反转字符串分析:
双指针
反转即可代码:publicvoidreverseString(char[]s){for(inti=0,j=s.length-1;istack=newArrayDeque<>
Thinh1
·
2024-01-17 03:19
代码随想录二刷笔记
算法
数据结构
代码随想录训练营DAY8| 344.反转字符串 541.反转字符串II 剑指 Offer 05. 替换空格 151.反转字符串中的单词 剑指 Offer 58 - II. 左旋转字符
344.反转字符串思路:
双指针
法,一个在头一个在尾,交换后同时往中间走voidreverseString(char*s,intsSize){intleft=0,right=sSize-1;while(left
m0_62867573
·
2024-01-17 02:49
数据结构
录子训练营DAY8| 344.反转字符串 541. 反转字符串II 剑指Offer 05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串
varreverseString=function(s){//
双指针
letl=0,r=s.length-1;while(l=0){if(arr[l]==='
小张张同学
·
2024-01-17 02:18
代码随想录
数据结构
零基础代码随想录【Day8】|| 344.反转字符串 , 541. 反转字符串II, 卡码网:54.替换数字 , 151.翻转字符串里的单词,卡码网:55.右旋转字符串
目录DAY8344.反转字符串解题思路&代码541.反转字符串II解题思路&代码方法一:
双指针
收缩进行反转方法二:revers函数进行反转卡码网:54.替换数字解题思路&代码151.翻转字符串里的单词解题思路
Andrew______
·
2024-01-17 02:48
算法
数据结构
算法笔记(LeetCode HOT 100)
双指针
思路:如何判断一道算法题能不能用
双指针
做?问题类型:
双指针
法通常用于解决数组或链表类的问题,如查找、排序、去重等。如果题目要求解决的问题属于这些类型,那么可以考虑使用
双指针
法。
艺成超爱牛肉爆大虾
·
2024-01-17 01:54
算法
1024程序员节
【算法练习】leetcode算法题合集之数组和哈希表篇
重建数组(高频)LeetCode283.移动零LeetCode283.移动零
双指针
,记录已经处理好的序列的尾部classSolution{publicvoidmoveZeroes(int[]nums){
秋装什么
·
2024-01-16 22:48
算法
算法
leetcode
散列表
【算法】算法(模拟、指针等)解决字符串类题目(C++)
文章目录1.前言2.解决字符串类算法题14.最长公共前缀5.最长回文子串67.二进制求和43.字符串相乘1.前言字符串题目有很多种,这里筛选几个考察模拟、
双指针
等的题目,并用相关算法解决。
卜及中
·
2024-01-16 22:46
算法
算法
c++
开发语言
leetcode 题解 hot100 系列 5.盛水最多的容器
思路:
双指针
,左右两侧的指针分别从左往右和从右往左移动,每次计算面积,将最大值记住,然后比较两侧指针指向的高度大小,谁小说明谁是影响面积的那一个,所以将其
城南顾北
·
2024-01-16 19:25
算法
leetcode
算法
刷题
双指针
算法_day2
双指针
算法
双指针
算法是我们在学习中常见的一种算法,指的是在遍历元素的过程中,不是使用单个指针进行访问,而是使用两个指针进行访问,从而达到相应的目的。按照分类可以分为对撞指针、快慢指针和分离
双指针
。
二狗的编程之路
·
2024-01-16 18:45
算法学习
算法
java
c++
删除链表的倒数第 N 个结点
采用
双指针
+动图的方式进行剖析,供大家参考,希望对大家有所帮助。19.删除链表的倒数第N个结点给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?
13dff21ea50b
·
2024-01-16 12:21
牛客周赛 Round 28 F
不妨考虑使用树状数组进行维护因为简单版本保证了每个数都为正整数,所以前缀和保证了一定的递增的,即有序的,那么考虑固定左端点,去枚举右端点,用二分去找到第一个合法的位置,那么从该位置到数组结尾,一直为合法的,或者使用
双指针
进行维护也行
Unlimitedz
·
2024-01-16 10:30
#
树状数组
c语言
算法
c++
数据结构
链表-反转链表
示例:输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL//
双指针
classSolution{publicListNodereverseList(ListNodehead
coder_sheep
·
2024-01-16 08:20
链表
数据结构
Day2- 数组part02
一、有序数组的平方思想:
双指针
:采用头尾指针,利用最大值一定是数组最左端或者最右端的思想题目一:977.有序数组的平方977.有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组
小丸子_daydayup
·
2024-01-16 08:39
代码随想录算法训练营
算法
leetcode
数据结构
合并两个有序数组
双指针
算法:设置两个指针,分别指向两个数组起始位置。每次比较当前两个数字大小,小的
阳光大男孩死磕java
·
2024-01-16 06:44
算法
算法
intellij-idea
java
数据结构
Golang 三数之和+ 四数之和 leetcode15、18
双指针
法
超出限制
双指针
法四数之和leetcode18三数之和leetcode15知识补充:map的key值必须是可以比较运算的类型,不可以是函数、map、slicemap记录失败!
鳄梨阿龙
·
2024-01-16 06:11
算法
数据结构
golang
leetcode
开发语言
写leetcode遇到得链表问题总结
1.关于判断链表是否有环的问题在解决这类问题上,我个人认为有两种办法:哈希及
双指针
那先来看一下如何用哈希去解决这类问题算法描述:遍历所有的链表的所有结点,将这些个结点全部存在hashset里面,直到下一个结点位
Hanks_Wei
·
2024-01-16 02:16
快速排序【hoare版本】【挖坑法】【
双指针
法】(数据结构)
快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。一、hoare版本该算法的大体框架为:假设取数组的头为key同时保存索引变量begin的值在此处,取key的另
accompany_zhao
·
2024-01-16 01:34
数据结构
数据结构
排序算法
算法
c语言
c++
代码随想录第六十天——柱状图中最大的矩形
leetcode84.柱状图中最大的矩形题目链接:柱状图中最大的矩形
双指针
解法:classSolution{public:intlargestRectangleArea(vector&heights){
荒野饮冰室
·
2024-01-16 00:51
单调栈
数据结构
算法
【打卡】牛客网:BM93 盛水最多的容器
双指针
从最两边开始遍历,遍历过程中舍弃最小的。不知道原理。
初霁i
·
2024-01-16 00:20
算法
LeetCode:206. 反转链表
本题利用
双指针
,初始pre指针指向NULL,cur指针指向head.再对局部翻转之前,先把下一个结点存到temp指针中。
weixin_51160138
·
2024-01-15 23:06
leetcode
链表
算法
344.反转字符串 541. 反转字符串II 151.翻转字符串里的单词
344.反转字符串思路:
双指针
,左指针指向0,右指针指向数组长度减一,循环判断左指针++,有指针--541反转字符串II思路:使用
双指针
,遍历的时候i+=2*k,左指针指向i-1,右指针指向数组i+k,
sofia0119
·
2024-01-15 23:24
数据结构
LeetCode链表(链表操作,反转链表,奇偶链表,排序链表)
技巧链表常见操作1.lc203移除链表元素2.lc2两数相加3.lc328奇偶链表反转链表1.lc206反转链表2.lc92反转链表II链表排序1.lc147对链表进行插入排序2.148.排序链表链表
双指针
nanyidev
·
2024-01-15 22:14
LeetCode刷题
链表
leetcode
数据结构
反转链表
php无重复字符的最长子串,无重复字符的最长字串问题
示例3:输入:"pwwkew"输出:3这道题,我自己的思路就是利用
双指针
保存滑动窗口的上下线。
weixin_39891694
·
2024-01-15 21:04
php无重复字符的最长子串
数据结构学习 jz66 构建乘积数组
关键词:数学
双指针
方法一:这个题目我一开始做不知道不能用除法。我做的:[用时:12m12s]用了除法分类讨论方法二:后来看了提示,
双指针
,两边各开始乘。方法三:然后又看了答案可以节省空间。
_Rindo
·
2024-01-15 20:51
数据结构学习
数据结构
学习
数据结构初阶之排序
目录一.前言二.选择排序2.1选择排序思想2.2代码实现三.快速排序3.1霍尔的思想3.2代码实现3.3代码性能分析与改进3.3.1优化点一3.3.2优化点二3.4挖坑法3.5代码实现3.6
双指针
法3.7
steventom
·
2024-01-15 19:52
数据结构初阶
数据结构
算法
leetcode-
二叉树的最大深度
104.二叉树的最大深度#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defmaxDepth(self,root:Optional[TreeNod
独孤--蝴蝶
·
2024-01-15 16:49
leetcode
leetcode-
删除排序链表中的重复元素
83.删除排序链表中的重复元素题解:要删除一个已排序链表中的所有重复元素,从而使每个元素只出现一次,我们可以使用一个指针来遍历这个链表,同时比较当前节点和它下一个节点的值。如果它们相等,我们就删除下一个节点,如果不相等,我们就移动指针。注:本题使用的是虚拟头节点#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=
独孤--蝴蝶
·
2024-01-15 16:19
leetcode
leetcode-
合并两个有序数组
88.合并两个有序数组题解:这是一个经典的
双指针
问题,我们可以使用两个指针分别指向nums1和nums2的最后一个元素,然后比较两个指针所指向的元素大小,将较大的元素放入nums1的末尾,并将对应的指针向前移动一位
独孤--蝴蝶
·
2024-01-15 16:19
leetcode
leetcode-
对称二叉树
101.对称二叉树题解:首先我们要清楚,对称二叉树,比较的不是左右节点,而是根节点的左右子树是不是相互翻转的。比较的是两个树。就是说左子树的左节点和右子树的右节点做比较,左子树的右节点和右子树的左节点做比较。我们使用递归方法。1.递归函数的参数和返回值前面已经说过了,比较的是两个树,自然是左子树和右子树节点返回值是bool类型compare(left,right)2.终止条件节点为空的情况左节点为
独孤--蝴蝶
·
2024-01-15 16:19
leetcode
leetcode-
二进制求和
67.二进制求和classSolution:defaddBinary(self,a:str,b:str)->str:result=''carry=0foriinrange(max(len(a),len(b))):a_bit=a[-(i+1)]ifi
独孤--蝴蝶
·
2024-01-15 16:18
leetcode
leetcode-
移除元素
27.移除元素此题和26.删除有序数组中的重复项题是一样的,都使用快慢指针classSolution:defremoveElement(self,nums:List[int],val:int)->int:slow=0forfastinrange(len(nums)):ifval!=nums[fast]:nums[slow]=nums[fast]slow+=1returnslow
独孤--蝴蝶
·
2024-01-15 16:48
leetcode
leetcode-
平衡二叉树
110.平衡二叉树#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defisBalanced(self,root:Optional[TreeNode
独孤--蝴蝶
·
2024-01-15 16:47
leetcode
代码随想录算法训练营|day2
第一章数组977.有序数组的平方209.长度最小的子数组59.螺旋矩阵II总结977.有序数组的平方文章详解:暴力破解、
双指针
法(1)暴力破解funcsortedSquares(nums[]int)[]
果木26
·
2024-01-15 14:26
代码随想录练习
go
力扣每日一练(24-1-15)
重复n次检查,几乎都用
双指针
。。。固然
双指针
就是题解:iflen(nums)<3:returnlen(nums)p1=2forp2inrange(2,len(nums)):ifnums[p2]!
CCSBRIDGE
·
2024-01-15 13:40
leetcode
算法
数据结构
双指针
-位运算--离散化--区间合并
-
双指针
算法:1.核心优化时间?
魔法少女啊
·
2024-01-15 12:38
算法
排序算法
java
AcWing 算法基础课第三节基础算法3
双指针
、位运算、离散化、区间合并
该系列为ACWing中算法基础课,已购买正版,课程作者为yxc2、y总培训真的是业界良心,大家有时间可以报一下3、为啥写在这儿,问就是oneNote的内存不够了QAQACwingC++算法笔记3基础算法一、
双指针
算法
雪团子
·
2024-01-15 12:36
算法基础
ACWing
C++
c++
算法
双指针
算法,位运算,离散化,区间合并
1、
双指针
算法常见问题分类:(1)对于一个序列,用两个指针维护一段区间(2)对于两个序列,维护某种次序,比如归并排序中合并两个有序序列的操作//一般模板for(inti=0,j=0;i>k&1首先把第k
ˇasushiro
·
2024-01-15 12:34
AcWing
算法
c++
开发语言
基础算法(三):
双指针
/位运算/离散化/区间合并
目录1.
双指针
算法引例最长连续不重复子序列2.位运算n的二进制表示中第k位是几lowbit(x)操作:返回x二进制表示中的最后一位13.离散化4.区间合并1.
双指针
算法引例输入一行字符串,输出字符串中的单词
ScarboroughFair#
·
2024-01-15 12:34
Acwing基础课
算法
蓝桥杯
c++
双指针
算法,位运算,离散化和区间合并
双指针
算法:强调单调性先上模版(最长连续不重复子序列)给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。
baobaobus教我自己代码
·
2024-01-15 12:33
算法
925. 长按键入
截屏2021-04-27上午10.08.26.png截屏2021-04-27上午10.08.44.png思路:就是利用
双指针
,因为typed字符串长度一定大于或者等于name,条件才能成立classSolution
康大侠
·
2024-01-15 12:17
力扣每日一练(24-1-14)
做过类似的题,一眼就是
双指针
,刚好也就是题解。ifnotnums:return0p1=0forp2inrange(1,len(nums)):ifnums[p2]!
CCSBRIDGE
·
2024-01-15 08:17
leetcode
算法
职场和发展
leetcode-
将有序数组转换为二叉搜索树
108.将有序数组转换为二叉搜索树二叉搜索树的定义:首先它是有序树若其左子树不空,则左子树上所有节点的值均小于它的根节点的值若其右子树不空,则右子树上所有节点的值均大于它的根节点的值它的左、右子树也分别为二叉搜索树此题的题目中还强调了一点,高度平衡,这就需要知道平衡二叉树的概念:左子树和右子树的高度之差的绝对值不超过1左右子树都是平衡二叉树左右子树都是二叉搜索树#Definitionforabin
独孤--蝴蝶
·
2024-01-15 06:23
leetcode
acwing800.数组元素的目标和(
双指针
)
题目传送门:800.数组元素的目标和给定两个升序排序的有序数组A和B,以及一个目标值x。数组下标从0开始。请你求出满足A[i]+B[j]=x的数对(i,j)。数据保证有唯一解。输入格式第一行包含三个整数n,m,x,分别表示A的长度,B的长度以及目标值x。第二行包含n个整数,表示数组A。第三行包含m个整数,表示数组B。输出格式共一行,包含两个整数i和j。数据范围数组长度不超过1e5。同一数组内元素各
诶嘿嘿kk
·
2024-01-15 02:10
算法
Day02
今日任务:977有序数组的平方209长度最小的子数组59螺旋矩阵Ⅱ977有序数组的平方题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/
双指针
问题
无系之舟
·
2024-01-15 01:39
代码随想录训练营
算法
数据结构
【面试高频题】难度 3/5,可直接构造的序列 DP 题
Tag:「前缀和」、「构造」、「
双指针
」、「序列DP」、「动态规划」你有两个有序且数组内元素互不相同的数组nums1和nums2。
宫水三叶的刷题日记
·
2024-01-14 23:32
FindTheIndexOfTheFirstOccurrenceInAString 【找到第一个匹配的下标】
双指针
字串的所有的字符都匹配完,匹配成功。如果要与之匹配的字符串剩下的长度小于字串的长度,即剩下的已经不会再满足。
BUG批量生产者
·
2024-01-14 23:45
LeetCode
刷题
java
算法
双指针
——删除有序数组中的重复项
给你一个有序数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。示例1:输入:nums=[1,1,2]输出:2,nums=[1,2]解释:函数应该返回新的长度2,并且原数组nums的前两个元素被修改为1,2。不需要考虑数组中超出新长度后面的元素。示例2:输入:nums=[0,0
汤米•谢尔比
·
2024-01-14 22:37
双指针
小红统计区间 牛客周赛 Round 28
#includeusingnamespacestd;usingll=longlong;constintN=1e5+10;lla[N];intmain(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);lln,k;cin>>n>>k;for(inti=1;i>a[i];intleft=1;llsum=0;llans=0;for(intright=1;r
柏箱
·
2024-01-14 22:24
c++
算法
Day2:有序数组的平方+最小子数组+螺旋矩阵II
一、有序数组的平方(977.)题目建议:本题关键在于理解
双指针
思想题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/文章讲解:https
LoinYee
·
2024-01-14 22:23
算法之旅
leetcode
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
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
其他