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
双指针法
代码随想录算法训练营第3天|链表理论基础、203.移除链表元素、707.设计链表、206.反转链表
文章目录链表理论基础链表的存储方式链表的定义链表的操作删除节点添加节点性能分析203.移除链表元素思路设置虚拟头结点代码707.设计链表思路代码206.反转链表思路
双指针法
递归法单指针法代码
双指针法
递归法单指针法今日收获链表理论基础学习链接
五鲜炒饭
·
2024-01-18 18:55
算法
c++
代码随想录算法训练营第2天|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
有序数组的平方思路代码209.长度最小的子数组思路代码遇到的问题59.螺旋矩阵II思路代码数组总结977.有序数组的平方题目链接:977.有序数组的平方文章讲解:代码随想录|977.有序数组的平方视频讲解:
双指针法
经典题目
五鲜炒饭
·
2024-01-18 18:55
算法
c++
代码随想录算法训练营第1天| 数组理论基础、704. 二分查找、27. 移除元素
文章目录数组理论基础704.二分查找思路代码27.移除元素思路暴力解法
双指针法
(重要)代码数组理论基础学习链接:数组理论基础注意:数组内存空间的地址是连续的704.二分查找题目链接:704.二分查找文章讲解
五鲜炒饭
·
2024-01-18 18:24
算法
代码随想录算法训练营第六天 | 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
3.2为什么
双指针法
更简单?3.3使用
双指针法
时需要注意的问题3.4代
-北天-
·
2024-01-18 13:56
代码随想录算法训练营
算法
python
c++
【LeetCode26.删除有序数组中的重复项】——
双指针法
26.删除有序数组中的重复项给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有k个元素,那么nums的前k个元素应该保存最终结果。将最终结果插入nums的前k个位置后返回k。不要使用额外的空间,你必须在原
一粒蛋_fc4d
·
2024-01-17 16:10
代码随想录训练营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
数据结构
算法笔记(LeetCode HOT 100)
问题类型:
双指针法
通常用于解决数组或链表类的问题,如查找、排序、去重等。如果题目要求解决的问题属于这些类型,那么可以考虑使用
双指针法
。有序性:
双指针法
通常适用于有序或部分有序的数组或链表。
艺成超爱牛肉爆大虾
·
2024-01-17 01:54
算法
1024程序员节
Golang 三数之和+ 四数之和 leetcode15、18
双指针法
超出限制
双指针法
四数之和leetcode18三数之和leetcode15知识补充:map的key值必须是可以比较运算的类型,不可以是函数、map、slicemap记录失败!
鳄梨阿龙
·
2024-01-16 06:11
算法
数据结构
golang
leetcode
开发语言
快速排序【hoare版本】【挖坑法】【
双指针法
】(数据结构)
快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。一、hoare版本该算法的大体框架为:假设取数组的头为key同时保存索引变量begin的值在此处,取key的另
accompany_zhao
·
2024-01-16 01:34
数据结构
数据结构
排序算法
算法
c语言
c++
数据结构初阶之排序
目录一.前言二.选择排序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
数据结构初阶
数据结构
算法
代码随想录算法训练营|day2
第一章数组977.有序数组的平方209.长度最小的子数组59.螺旋矩阵II总结977.有序数组的平方文章详解:暴力破解、
双指针法
(1)暴力破解funcsortedSquares(nums[]int)[]
果木26
·
2024-01-15 14:26
代码随想录练习
go
C语言实现快排核心思想(
双指针法
)
核心代码:这就是每一趟快排的实现代码,由上面的动图,我们能知道前后指针法的核心是玩好cur和prev这两个指针,具体的逻辑是cur找比key小的值,找到就prev++,然后prev和cur的值就进行交换,但是总不能自己跟自己交换吧,这就是多此一举了,所以我们在代码中的if语句里多加一个判断,++prev不能等于cur;如果cur遇到比key大的值prev就不动,cur++。最后我们再把prev跟k
板鸭〈小号〉
·
2024-01-14 13:07
c语言
开发语言
代码随想录算法训练营 | 第二天 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
长度最小的子数组、59.螺旋矩阵II文章目录代码随想录算法训练营第二天|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II1LeetCode977.有序数组的平方1.1快排方法(408思路)1.2
双指针法
实现
-北天-
·
2024-01-13 23:07
代码随想录算法训练营
算法
排序算法
python
代码随想录算法训练营第一天 | 704. 二分查找、27. 移除元素
Python1.2面试问题针对C++2LeetCode704.二分查找2.1二分查找的实现2.2Python实现版本2.3C++实现版本2.4ACM模式代码(包含输入和输出代码)3LeetCode27.移除元素3.1
双指针法
的实
-北天-
·
2024-01-13 23:07
代码随想录算法训练营
算法
python
c++
【代码随想录02】977.有序数组的平方 209.长度最小的子数组 59.螺旋矩阵II
因此可以采用
双指针法
,在数组首尾各放置一个指针,比较指针元素平方后的值。较大者放入结果数组末端,同时该指针向中间移动,继续比较。
星云code
·
2024-01-12 22:27
代码随想录
矩阵
算法
数据结构
Day24 530二叉搜索树的最小绝对差 501二叉搜索树中的众数 236二叉树的最近公共祖先
本题可以采用数组法,
双指针法
和迭代法来进行处理。//数组法classSolution{private:vectorvec;voidtraversal(TreeNode*root){if(
借我点钱
·
2024-01-12 13:29
算法
双指针法
【Python】简单应用——移动元素
1、概述
双指针法
是一种常用的算法思想,用于解决数组和链表等数据结构的问题。它的基本思想是使用两个指针在数据结构中同时移动,以便有效地查找或比较元素。
小林打怪中
·
2024-01-12 06:34
Python
算法
代码随想录刷题
文章目录数组链表哈希表字符串
双指针法
栈与队列二叉树回溯算法贪心算法动态规划单调栈数组链表哈希表字符串
双指针法
栈与队列二叉树回溯算法贪心算法动态规划爬楼梯classSolution{publicintclimbStairs
greedy-hat
·
2024-01-12 03:18
刷题
算法
【LeetCode27.移除元素】——
双指针法
27.移除元素给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1:输入:nums=[3,2,2,3],val=3输出:2,nums=[2,2]解释:函数应该返回新的长度2,并且nums中的前两个元素均为2。你不
一粒蛋_fc4d
·
2024-01-11 21:16
15. 三数之和
:https://leetcode.cn/problems/3sum/solutions/2434939/san-shu-zhi-he-shuang-zhi-zhen-c-jian-da-jldr//
双指针法
咔咔咔的
·
2024-01-11 18:42
leetcode
c++
滑动窗口理解
1、滑动窗口的理解滑动窗口也可以理解为
双指针法
的一种!只不过这种解法更像是一个窗口的移动,所以叫做滑动窗口更适合一些。2、滑动窗口需要确定的三点主要确定如下三点:窗口内是什么?如何移动窗口的起始位置?
King_LJames
·
2024-01-11 14:27
代码随想录笔记
算法
leetcode
代码随想录算法训练营——数组篇总结
数组的删除只能用覆盖经典题目1:二分法,要深刻理解循环不变量法则,这也是写代码的重要法则经典题目2:
双指针法
,暴力破解两层循环都可以想办法用双指针处理,可以是快慢指针或者相向指针经典题目3:滑动窗口,双指针变种
老$¥
·
2024-01-11 07:32
算法
代码随想录算法训练营第六十天|84.柱状图中最大的矩形
方法二:
双指针法
时间复杂度是O(n)方法三:单调栈法寻找元素第一个比他大或比他小的元素,都可以使用单调栈的思路接雨水求的是右边第一个比他大的元素====递增的单调栈而本题求的是右边第一个比他小的元素==
Buuuleven.(程序媛
·
2024-01-09 05:01
算法
java
leetcode
数据结构
代码随想录算法训练营Day21|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先
目录530.二叉搜索树的最小绝对差前言直接法
双指针法
501.二叉搜索树中的众数前言对普通二叉树对二叉搜索树236.二叉树的最近公共祖先前言思路算法实现总结530.二叉搜索树的最小绝对差题目链接文章链接前言本题要求在二叉搜索树上任意两节点的差的绝对值的最小值
张金卓2023
·
2024-01-08 22:28
算法
代码随想录算法训练营Day08|344.反转字符串、541. 反转字符串II、卡码网:替换数字、151.翻转字符串里的单词、卡码网:右旋字符串
文章目录一、344.反转字符串1.
双指针法
二、541.反转字符串II1.字符串解法三、卡码网:替换数字四、151.翻转字符串里的单词1.使用库函数2.自行编写函数3.创建字符数组填充3.双反转+移位五、
热爱学习的Elina
·
2024-01-08 07:14
代码随想录算法集训营
算法
leetcode
java
数据结构
代码随想录算法训练营Day03|203.移除链表元素、707.设计链表、206.反转链表
文章目录一、203.移除链表元素1.递归2.直接使用原来的链表来进行删除操作3.设置一个虚拟头结点在进行删除操作二、707.设计链表1.单向链表2.双向链表三、206.反转链表1.
双指针法
2.递归法总结一
热爱学习的Elina
·
2024-01-08 07:43
代码随想录算法集训营
算法
链表
数据结构
java
leetcode
代码随想录算法训练营Day01|704.二分查找、27.移出元素
文章目录数组704.二分查找1.左闭右闭区间1.左闭右开区间27.移出元素1.暴力解法2.
双指针法
总结数组数组是存放在连续内存空间上的相同类型数据的集合。数组下标都是从0开始的。
热爱学习的Elina
·
2024-01-08 07:13
代码随想录算法集训营
算法
数据结构
java
leetcode
代码随想录算法训练营Day02|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵 II
文章目录一、977.有序数组的平方1.暴力排序法2.
双指针法
二、209.长度最小的子数组1.暴力法2.滑动窗口法三、59.螺旋矩阵II1.模拟法总结一、977.有序数组的平方题目描述:给你一个按非递减顺序排序的整数数组
热爱学习的Elina
·
2024-01-08 07:13
代码随想录算法集训营
算法
矩阵
数据结构
leetcode
java
day08 反转字符串 反转字符串Ⅱ 替换数字 翻转字符串里的单词 右旋转字符串
题目1:344反转字符串题目链接:344反转字符串题意字符串是数组的形式,使用O(1)的空间将字符串反转
双指针法
法一代码classSolution{public:voidreverseString(vector
人来茶热
·
2024-01-08 03:51
算法
leetcode
动态规划
双指针例题
暴力解法:双层for循环
双指针法
:通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。快指针:寻找新数组的元素,新数组就是不含有目标元素的数组慢
qq_40631424
·
2024-01-07 21:20
C++成神之路
leetcode
算法
职场和发展
双指针专项练习-----链表操作
一、
双指针法
快慢指针的思想。我们将第一个指针fast指向链表的第k+1个节点,第二个指针slow指向链表的第一个节点,此时指针fast与slow二者之间刚好间隔k个节点。
Coding路人王
·
2024-01-07 19:28
面试
Java
链表
数据结构
java
80. 删除有序数组中的重复项 II
80.删除有序数组中的重复项II题目链接:80.删除有序数组中的重复项II代码如下://
双指针法
classSolution{public:intremoveDuplicates(vector&nums)
咔咔咔的
·
2024-01-07 11:21
leetcode
c++
快速排序和冒泡排序
目录前言一.冒泡排序二.快速排序1.Hoare法2.填空法3.
双指针法
4.快排优化(三数取中)5.快排优化(递归优化)6.快排优化(重复数据)7.快排非递归前言排序算法是计算机科学中的基础工具之一,对于数据处理和算法设计有着深远的影响
MindibniM
·
2024-01-06 17:49
数据结构
c语言
算法
数据结构
排序算法
541. 反转字符串II
双指针法
classSolution{publicStringreverseStr(Strings,intk){char[]ch=s.toCharArray();for(inti=0;i
贝耶儿
·
2024-01-05 22:36
java
算法
数据结构
代码随想录算法训练营day2|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
209.长度最小的子数组,59.螺旋矩阵II,总结977.有序数组的平方题目建议:本题关键在于理解双指针思想题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台文章讲解:代码随想录视频讲解:
双指针法
经典题目
万事大吉CC
·
2024-01-05 12:09
代码随想录
算法
[排序算法] 如何解决快速排序特殊情况效率低的问题------三路划分
前言在[C/C++]排序算法快速排序(递归与非递归)一文中,对于快速排序的单趟排序一共讲了三种方法:hoare、挖坑法、
双指针法
,这三种方法实现的快速排序虽然在一般情况下效率很高,但是如果待排序数据存在大量重复数据
Qiiq✘GK
·
2024-01-05 07:04
数据结构
排序算法
算法
数据结构
Leetcode--160--相交链表【链表、栈、
双指针法
】
萌新记录~多多指教链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/solution/xiang-jiao-lian-biao-by-leetcode/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。题目描述相交链表编写一个程序,找到两个单链表相交的起始节点。如
Paris_郑丹丹
·
2024-01-04 23:09
数据结构与算法
链表
leetcode
数据结构
Golang Leetcode19 删除链表的倒数第N个节点 递归
双指针法
+迭代
删除链表的倒数第N个节点leetcode19递归由于本体是倒数第几个节点,非常适合递归从终到始的运行方式funcremoveNthFromEnd(head*ListNode,nint)*ListNode{//创建一个虚拟头节点,简化边界条件处理dummy:=&ListNode{Next:head}//检查是否需要删除头节点//ifremove(dummy,n)==n{//returndummy.N
鳄梨阿龙
·
2024-01-04 21:34
golang
链表
开发语言
数据结构
leetcode
LeetCode做题总结 15. 三数之和、18. 四数之和 (Java)
X数之和15.三数之和代码思路20240103重写错误1错误2Java语言点总结18.四数之和代码思路20240104(伪)错误1第一次剪枝错误2第二次剪枝错误3溢出15.三数之和代码思路思想:利用
双指针法
aPurpleBerry
·
2024-01-04 19:04
LeetCode做题总结
leetcode
《剑指offer》 链表第四题:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路:有两种方法,一种是非递归方法(
双指针法
),另一种是递归法。
y6533
·
2024-01-04 13:59
java
数据结构
链表
力扣11. 盛最多水的容器
双指针法
思路:将数组两端设置为left、right指针;则其围成的容器构成的面积area=min(height[left],height[right])*(right-left);(木桶短板理论)指针更新规则
slowfastflow
·
2024-01-03 15:09
力扣实践
leetcode
算法
职场和发展
力扣42. 接雨水
双指针法
思路:将数组前后设置为left、right指针,相互靠近;在逼近的过程中记录两端最大的值leftMax、rightMax,作为容器的左右边界;更新指针规则:如果数组左边的值比右边的小,则更新left
slowfastflow
·
2024-01-03 15:34
力扣实践
leetcode
数据结构
算法
LeetCode刷题笔记之字符串
代码:classSolution{publicvoidreverseString(char[]s){//交换两个数:a^=b;b^=a;a^=b;//
双指针法
反转数组intle
abtgu
·
2024-01-02 18:58
课程复习
leetcode
笔记
算法
Leetcode刷题——链表
Leetcode刷题-链表一、链表定义一、Leetcode题目1.移除链表元素2.反转链表
双指针法
3.两两交换链表中的节点4.删除链表的倒数第N个结点快慢指针法一、链表定义c++链表节点定义方式://单链表
江南汪
·
2024-01-02 03:51
刷题
链表
leetcode
数据结构
代码随想录训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
977、有序数组的平方题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台文章讲解:代码随想录视频讲解:
双指针法
经典题目|LeetCode:977.有序数组的平方_哔哩哔哩_bilibilivectorsortedSquares
Ljhh_h
·
2024-01-02 02:36
矩阵
线性代数
前端算法之双指针
双指针法
使用两个指针(通常称为快指针和慢指针)来遍历数据结构,以解决一些需要找到特定元素或进行其他复杂操作的问题。
前端布道人
·
2024-01-01 23:14
前端web算法
前端杂货铺
前端面试题
前端
算法
Leetcode的AC指南 —— 字符串:344. 反转字符串
文章目录一、题目二、解析1、
双指针法
其他语言版本JavaC++Python一、题目题目介绍:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符
知之_知之
·
2024-01-01 18:27
leetcode的AC指南
leetcode
算法
职场和发展
长度最小的子数组 js实现
//滑动窗口法,是一种特殊的
双指针法
//就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。
小涛学前端
·
2023-12-31 13:25
算法
javascript
开发语言
移除元素 (
双指针法
)
题目:给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1:输入:nums=[3,2,2,3],val=3输出:2,nums=[2,2]classSolution{publicintremoveElement(i
Supernova_01
·
2023-12-31 00:39
leetcode
算法
【12.28】转行小白历险记-刷算法04
要修改后一个节点的指向一定要知道前一个节点的指向才可以改变后面一个节点的2.分情况奇数和偶数节点,终止条件很重要3.虚拟头节点,是对我们操作的指针是不是头节点进行判断02删除链表的倒数第N个节点思路1.
双指针法
一只规划转行狗的转行日记
·
2023-12-30 11:44
算法
上一页
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
其他