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-双指针
【算法】相向
双指针
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kuan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2023-09-18 13:01
s6
算法与数据结构
算法
图解LeetCode15:三数之和(排序+
双指针
方法)
LeetCode15:三数之和给你一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a+b+c=0?请你找出所有和为0且不重复的三元组注意:答案中不可以包含重复的三元组示例:输入:nums=[-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]输入:nums=[]输出:nums=[]输入:nums=[0]输出:[]提示:0>threeSum(in
牧码文
·
2023-09-18 11:50
java
算法
leetcode
(基于java) 算法笔记 ——
双指针
算法
双指针
算法的学习,简单笔记1、算法解释
双指针
的存在主要用于遍历数组,两个指针指向不同的元素,协同完成任务若两个指针指向同一数组、方向相同、不会相交,也称为滑动窗口2、两数和问题①LeetCode167两数之和
Terio_my
·
2023-09-18 11:19
算法学习
指针
算法
leetcode
【算法之LeetCode系列(8)】——
双指针
双指针
的使用:easy-->medium-->hard1.删除有序数组中的重复项(easy)2.移动零(easy)3.链表中倒数第k个节点(easy)快慢指针小结4.两数之和II-输入有序数组(easy
summer·
·
2023-09-18 11:19
算法之力扣系列
leetcode
算法
双指针
javascript
[LeetCode算法->
双指针
]
在算法中,
双指针
的问题较为常见,应用也比较广泛,
双指针
问题能够降低时间复杂度和空间复杂度,有必要掌握这一内容。下面通过LeetCode的题目来说明
双指针
。
在肯德基吃麻辣烫
·
2023-09-18 11:18
数据结构和算法
leetcode
算法
职场和发展
LeetCode解题总结--
双指针
双指针
解题多用于链表、数组等问题当中。
双指针
的难度在于:1、一开始可能很难想到2、变式很多3、指针并不是具体指的函数中的“指针”,而是一种思想。
DylanYeung
·
2023-09-18 11:18
LeetCode总结
LeetCode
双指针
算法
链表
基础算法入门06——
双指针
算法
双指针
算法
双指针
算法大概的模板for(inti=0,j=0;iusingnamespacestd;constintN=100010;intq[N];//存放数列ints[N];//记录哪些数字在当前计算长度的数列区间中
Maxcu
·
2023-09-18 11:12
算法学习
算法
c++
数据结构
图解 LeetCode 算法汇总——
双指针
双指针
算法是一种比较常用于搜索链表或数组相关的问题,很多算法的基本的解题思路就是使用暴力搜索法。而
双指针
是对暴力搜索的一种优化,通过
双指针
可以减少数据的遍历次数。
小码A梦
·
2023-09-18 11:11
算法
leetcode
职场和发展
【持续更新】力扣刷题笔记
2.数组排序3.数组转链表解法二:使用
双指针
326.删除有序数组中的重复项简单2022-05-02查看答案数组,
双指针
,快慢指
pre_eminent
·
2023-09-18 11:51
力扣刷题
刷题笔记
快速从入门到精通!mysql删除语句姓李的语句
学习算法和刷题的思路指南02.学习数据结构和算法读什么书03.动态规划解题套路框架04.动态规划答疑篇05.动态规划答疑篇06.回溯算法解题套路框架07.二分查找解题套路框架08.滑动窗口解题套路框架09.
双指针
技巧总结
前端小雪球
·
2023-09-18 08:06
程序员
面试
后端
java
有序数组的平方 && 长度最小的子数组 &&螺旋矩阵II
导航今天这篇主要讲述leetcode题目:977.有序数组的平方209.长度最小的子数组59.螺旋矩阵II有序数组的平方题目链接:977.有序数组的平方分析过程:本题应该使用
双指针
的思路来解答。
love_0_love
·
2023-09-18 06:36
矩阵
数据结构
线性代数
【
LeetCode-
面试经典150题-day24】
目录35.搜索插入位置74.搜索二维矩阵162.寻找峰值33.搜索旋转排序数组35.搜索插入位置题意:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(logn)的算法。【输入样例】nums=[1,3,5,6],target=5【输出样例】2解题思路:最简单的二分查找,给定的是排序数组,直接根据数组下标
badgirl-bb
·
2023-09-18 06:03
LeetCode
leetcode
面试
算法
【
LeetCode-
面试经典150题-day25】
目录530.二叉搜索树的最小绝对差230.二叉搜索树中第K小的元素98.验证二叉搜索树530.二叉搜索树的最小绝对差题意:给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。树中节点的数目范围是[2,100]0stack=newArrayDeque();while(root!=null||!stack.isEmpty()){whi
badgirl-bb
·
2023-09-18 06:32
LeetCode
leetcode
面试
算法
力扣每日一刷--- 验证回文字符串II(非严格) 以及取反知识
classSolution:defvalidPalindrome(self,s:str)->bool:#分三种情况:不删字符是回文字符串,删一个字符是回文字符串,不是回文字符串ifs==s[::-1]:returnTrue#
双指针
哎呦-_-不错
·
2023-09-18 03:10
leetcode
【
双指针
】 LCR 023. 相交链表
LCR023.相交链表拆分链表一个链表元素全部小于x另一个链表元素全部大于或者等于x合并链表/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){
luzhoushili
·
2023-09-18 03:07
#
Leetcode
链表
数据结构
双指针
技巧
读完本文,你可以去力扣拿下如下题目:141.环形链表141.环形链表II167.两数之和II-输入有序数组-----------我把
双指针
技巧再分为两类,一类是「快慢指针」,一类是「左右指针」。
labuladong
·
2023-09-17 23:00
leetcode-
每日一题-打家劫舍-213-(dp,中等,经典)
这道打家劫舍题十分经典序列行动态规划,分为两种,第一种简单,只要能想出来运动方程即可,也就是说这一步该怎么走,第一种可能性就是偷我们要不就是从前一次没有偷的值所以第一种类型很明显可以看出来要分为二维进行存储当前是偷了还是没有偷,有了这个思路我们很好写出方程所以我们方程就可以写成下面这样dp[0][i]=fmax(dp[0][i-1],dp[1][i-1]);dp[1][i]=fmax(dp[0][
时间幻象
·
2023-09-17 22:22
算法
leetcode
算法
职场和发展
leetcode-
深度优先搜索
1.深度优先搜索1)N种算法的基础,重中之重2)递归,暴力万金油,回溯法,隐式图搜索递归函数中i是否可以用全局变量?1)从n个for循环来理解2)从解空间树来理解标记量什么时候变为true,什么时候变为false?1)从解空间树来理解怎样使程序一次AC?1)在草稿纸上为每个变量含义、范围、大小标注清楚2)程序员的观察能力应该很强:遇到问题怎么处理问题?遇到问题处理问题需要多少时间?推理能力要很强3
王侦
·
2023-09-17 21:09
【
leetcode-
数组】对角线遍历
【
leetcode-
数组】对角线遍历题目:给定一个含有MxN个元素的矩阵(M行,N列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。
攻城狮大兵
·
2023-09-17 14:49
算法通过村第八关-树(深度优先)青铜笔记|经典算法题目
文章目录前言1.二叉树里面的
双指针
1.1判断两棵树是否相同1.2对称二叉树1.3合并二叉树2.路径专题2.1二叉树的所有路径2.2路径总和3.翻转的妙用总结前言提示:人类的底里是悲伤,我们都在用厚重的颜料
师晓峰
·
2023-09-17 14:49
算法集训营
算法笔记
二叉树中的双指针
二叉树的路径问题
二叉树的翻转问题
前中后续序列
深度优先
Java
【LeetCode热题100】--283.移动零
283.移动零使用
双指针
:classSolution{publicvoidmoveZeroes(int[]nums){if(nums==null){return;}intj=0;for(inti=0;i
小d<>
·
2023-09-17 10:41
LeetCode
leetcode
算法
java
C/C++刷题DAY2
1.第一题27.移除元素-力扣(LeetCode)分析:对于此题,我们使用
双指针
的方式去写它,需要注意空间复杂度是O(1),时间复杂度也是尽量的越低越好,要去需要原地修改数组,因此不能够创建其他的临时数组
待己以诚
·
2023-09-17 09:42
刷题合集
c语言
算法
c++
开发语言
数据结构
数据结构-
leetcode-
环形链表
解题图解:代码如下:boolhasCycle(structListNode*head){structListNode*fast=head;//在这里fast是快指针//head作为low指针//因为这个题不需要做修改也只需返回true或false//就少开辟一个空间while(fast!=NULL&&fast->next!=NULL){head=head->next;fast=fast->next
Hey ju
·
2023-09-17 08:16
C
数据结构
leetcode
链表
数据结构-
leetcode-
环形链表Ⅱ
有了上一篇的基础,做这一篇会相对容易些,没看上一篇的一定要去看看再来。先看题:解题图解:1.首先要使快慢指针相遇2.代码如下:structListNode*detectCycle(structListNode*head){structListNode*fast=head;structListNode*low=head;while(fast!=NULL&&fast->next!=NULL){low=
Hey ju
·
2023-09-17 08:44
C
数据结构
链表
leetcode
【每日一题】ABC155D - Pairs | 二分
双指针
| 简单
题目内容原题链接给定一个长度为nnn的整数数组aaa。选择两个不同的下标iii和jjj,乘积为ai×aja_i\timesa_jai×aj问在n×(n−1)2\frac{n\times(n-1)}{2}2n×(n−1)种不同的元素对中,第kkk小乘积是多少。数据范围2≤n≤2×1052\leqn\leq2\times10^52≤n≤2×1051≤k≤n×(n−1)21\leqk\leq\frac{
solego
·
2023-09-17 06:35
算法竞赛
算法
Javaer面试复习流程
解题思路一面八股二面项目三面主管四面HR反问内容内部晋升机试算法1.1主要需要回忆的内容分类类型名称固定模板二分查找、最短路、最小生成树、快速幂、回溯、广搜/深搜、KMP、并查集、排序算法思路动态规划(背包是重点)、
双指针
dreambyday
·
2023-09-17 06:02
杂谈
面试
java
职场和发展
链表总结(
双指针
,虚拟头结点)
双指针
:对链表进行,取数(增删改查倒数第n个结点),调整(反转)。可以先模拟怎么操作,然后再设计快慢指针的移动。
我就不信不能提高代码水平
·
2023-09-17 05:43
刷题总结
c++
leetcode
链表
双指针
解法类型
A1.删除有序数组中的重复项给你一个有序数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array我的解法:思路
被代码耽误的裁缝
·
2023-09-17 03:00
需要排序的最短子数组长度
例如:[1,4,5,3,2,8]返回4,解释:需要排序的是[4,5,3,2]思路:
双指针
操作从左边遍历,找出不合理的位置,此位置为right_index从右边遍历,找出不合理的位置,此位置为left_indexright_index-left_index
钢筋铁骨
·
2023-09-17 03:42
LC844. 比较含退格的字符串
另外一种思路是
双指针
,对于单个字符串s,可以抽象出一个函数proc来处理,函数proc负责处理退格操作,使字符串s变回常规不带退格操作的字符串,proc返回处理后的字符串的真实长度。
Melonl
·
2023-09-17 01:36
刷题
力扣
leetcode
题解
双指针
【算法|
双指针
|链表】反转链表
示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head=[1,2]输出:[2,1]示例3:输入:head=[]输出:[]
双指针
法思路如上图Java版classSolution
日夜无休时
·
2023-09-16 23:37
Code
Philosophy
算法
链表
数据结构
LintCode 31.数组划分
类似与快速排序相向
双指针
在左边找到一个大于等于k的元素右边找到一个小于k的元素交换位置publicclassSolution{/***@paramnums:Theintegerarrayyou
零一熊
·
2023-09-16 21:13
LintCode
LintCode
java
【
LeetCode-
简单题KMP】459. 重复的子字符串
文章目录题目方法一:移动匹配方法二:KMP算法题目方法一:移动匹配classSolution{//移动匹配publicbooleanrepeatedSubstringPattern(Strings){StringBufferstr=newStringBuffer(s);//ababstr.append(s);//拼接一份自己ababababstr.delete(0,1);//babababstr.
今天你写代码了吗??
·
2023-09-16 19:47
力扣
#
简单题
leetcode
算法
职场和发展
怒刷LeetCode的第2天(Java版)
目录第一题题目来源题目内容解决方法方法一:滑动窗口方法二:
双指针
加哈希表第二题题目来源题目内容解决方法方法一:二分查找方法二:归并排序方法三:分治法第三题题目来源题目内容解决方法方法一:动态规划方法二:
世俗ˊ
·
2023-09-16 19:55
LeetCode算法
leetcode
算法
职场和发展
代码随想录算法训练营Day60 | 84. 柱状图中最大的矩形
文章目录84.柱状图中最大的矩形首尾加0
双指针
84.柱状图中最大的矩形题目链接|解题思路本题和接雨水的题目相互呼应,但是难度略有提升,同样是一道非常棒的题!
Kolbe_Huang
·
2023-09-16 17:51
代码随想录算法训练营一刷
算法
代码随想录算法训练营Day59 | 503. 下一个更大元素II | 42. 接雨水
文章目录503.下一个更大元素II42.接雨水暴力解法
双指针
优化单调栈单调栈的处理逻辑503.下一个更大元素II题目链接|解题思路本题和每日温度非常相似,只是需要循环数组。
Kolbe_Huang
·
2023-09-16 17:20
代码随想录算法训练营一刷
算法
Leetcode——206反转链表
我们的思路就是利用
双指针
定义两个指针:pre和cur;pre在前cur在后。
乔大叶_803e
·
2023-09-16 16:03
代码随想录day60
84.柱状图中最大的矩形
双指针
解法:超时classSolution{public:intlargestRectangleArea(vector&heights){intres=0;for(inti=0;
yjwang0819
·
2023-09-16 14:18
算法
leetcode
数据结构
代码随想录算法训练营第二天|977.有序数组的平方 & 209.长度最小的子数组 & 59.螺旋矩阵II
977.有序数的平方题目链接:力扣解题思路:
双指针
①定义左右指针②创建新数组,大小和旧数组一样③循环:若右指针指向的数的平方大于左边,则在新数组下标j处加入此数,新数组下标j--,右指针right--若左指针指向的数的平方大于右边
居居不睡
·
2023-09-16 14:46
算法
矩阵
数据结构
LeetCode-
热题100-笔记-day29
199.二叉树的右视图https://leetcode.cn/problems/binary-tree-right-side-view/给定一个二叉树的根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例1:输入: [1,2,3,null,5,null,4]输出: [1,3,4]算法思路使用层次遍历按层输出该二叉树并保存于临时数组cur中,然后遍历cur获
This_is_code
·
2023-09-16 13:02
leetcode
leetcode
笔记
算法
LeetCode-
热题100-笔记-day18
234.回文链表https://leetcode.cn/problems/palindrome-linked-list//***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,
This_is_code
·
2023-09-16 13:01
leetcode
笔记
算法
LeetCode-
热题100-笔记-day19
21.合并两个有序链表https://leetcode.cn/problems/merge-two-sorted-lists/将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例1:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]classSolution{publicListNodemergeTwoLists(ListN
This_is_code
·
2023-09-16 13:01
leetcode
leetcode
笔记
算法
LeetCode-
热题100-笔记-day17
一、相交链表160.相交链表https://leetcode.cn/problems/intersection-of-two-linked-lists/给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。图示两个链表在节点c1开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保持其原始结构。自定义
This_is_code
·
2023-09-16 13:31
leetcode
leetcode
笔记
算法
LeetCode-
热题100-笔记-day22
146.LRU缓存https://leetcode.cn/problems/lru-cache/请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intkey,int
This_is_code
·
2023-09-16 13:31
leetcode
leetcode
笔记
linux
LeetCode-
热题100-笔记-day23
104.二叉树的最大深度https://leetcode.cn/problems/maximum-depth-of-binary-tree/给定一个二叉树root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。示例1:输入:root=[3,9,20,null,null,15,7]输出:3算法思想下面给出BFS思想算法,递归算法不再给出;将每一层的所有元素放到que
This_is_code
·
2023-09-16 13:31
leetcode
leetcode
笔记
算法
LeetCode-
热题100-笔记-day13
73.矩阵置零https://leetcode.cn/problems/set-matrix-zeroes/给定一个mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。示例1:输入:matrix=[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]算法思路遍历matrix数组,用标记数组记录下matrix[i][
This_is_code
·
2023-09-16 13:30
leetcode
leetcode
笔记
算法
LeetCode-
热题100-笔记-day10
56.合并区间https://leetcode.cn/problems/merge-intervals/以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例1:输入:intervals=[[1,3],[2,6],[8,10],[15,18]]输出:
This_is_code
·
2023-09-16 13:30
leetcode
leetcode
笔记
算法
LeetCode-
热题100-笔记-day01
49.字母异位词分组https://leetcode.cn/problems/group-anagrams/给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=["eat","tea","tan","ate","nat","bat"]输出:[["bat"],["nat","tan"],["ate
This_is_code
·
2023-09-16 13:00
leetcode
笔记
linux
LeetCode-
热题100-笔记-day02
128.最长连续序列https://leetcode.cn/problems/longest-consecutive-sequence/给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。示例1:输入:nums=[100,4,200,1,3,2]输出:4解释:最长数字连续序列是[1,2,3,4]。它的长
This_is_code
·
2023-09-16 13:00
leetcode
leetcode
笔记
算法
LeetCode-
热题100-笔记-day08
560.和为K的子数组https://leetcode.cn/problems/subarray-sum-equals-k/给你一个整数数组nums和一个整数k,请你统计并返回该数组中和为k的连续子数组的个数。示例1:输入:nums=[1,1,1],k=2输出:2官方答案算法思路:pre[i]=pre[i-1]+nums[i];将以i为结尾的nums[i]的前i项的和添加入map,map键为pre
This_is_code
·
2023-09-16 13:00
算法
数据结构
leetcode
上一页
60
61
62
63
64
65
66
67
下一页
按字母分类:
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
其他