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-双指针
双指针
算法理解+leetcode例题(Java实现)
双指针
算法
双指针
主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。
lmmg
·
2022-02-24 12:11
算法
java
指针
算法
Leetcode 刷题笔记(三) —— 数组类型解题方法三:滑动窗口
文章目录系列文章目录题录209.长度最小的子数组904.水果成篮76.最小覆盖子串(困难)总结系列文章目录一、数组类型解题方法一:二分法二、数组类型解题方法二:
双指针
法三、数组类型解题方法三:滑动窗口四
a1241692733
·
2022-02-24 12:10
算法
leetcode
算法
数组
Python算法-
双指针
(Two Pointers)
双指针
分为「对撞指针」、「快慢指针」、「分离
双指针
」。参考来源:https://algo.itcharge.cn/对撞指针:两个指针方向相反。
ShowMeCoding
·
2022-02-23 13:07
链表的OJ题---(C++)
22链表中倒数第K个结点21合并2个有序链表牛客CM11链表分割206反转链表题目链接:https://leetcode-cn.com/problems/reverse-linked-list/思路一:
双指针
解决定义
_End丶断弦
·
2022-02-22 21:03
#
LeetCode链表的题
链表
c++
数据结构
LeetCode-
剑指offer栈的题目
栈的题1.剑指offer-09用2个栈实现队列2.剑指offer-30包含min函数的栈3.剑指offer-31栈的压入、弹出序列1.剑指offer-09用2个栈实现队列题目链接:https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/栈是先进后出,队列是先进先出的特点,画图走起来:这道题还是比较简单的。动
_End丶断弦
·
2022-02-22 21:03
LeetCode
leetcode
算法
栈
LeetCode-
数据库题(一) (1-51题 到1070)
https://leetcode-cn.com/problemset/database/题目都是leetcode上了可以点击题目会有相应的链接由于个人比较喜欢用开窗函数,所以都优先用了开窗,当然这些并不一定都是最优解,答案仅供参考每道题后面都应相应的难度等级,如果没时间做的话可以在leetcode按出题频率刷题我是顺序刷的题,后续还会继续更新祝大家面试取得好的成绩文章目录[175.组合两个表](h
VanasWang
·
2022-02-22 11:46
Mysql
hive
leetcode
【LeetCode-SQL每日一练】—— 196. 删除重复的电子邮箱
接下来小梦会带领小伙伴们一起每天刷一道
LeetCode-
数据库(SQL)相关的题目,然后在文章后例举相关知识点帮助小伙伴们学习与巩固,更好的掌握SQL。♂️小伙伴们如果在
_超 梦
·
2022-02-22 11:45
sql
leetcode
数据库
【LeetCode-SQL每日一练】—— 182. 查找重复的电子邮箱
接下来小梦会带领小伙伴们一起每天刷一道
LeetCode-
数据库(SQL)相关的题目,然后在文章后例举相关知识点帮助小伙伴们学习与巩固,更好的掌握SQL。♂️小伙伴们如果在学习过程中
_超 梦
·
2022-02-22 11:44
数据库
sql
database
滑动窗口法:寻找最长子序列
滑动窗口法的起始与终止节点的移动的目的即为求解子序列的最优化处理,其基本的思路如下:定义
双指针
,初始值一致,
双指针
之间的内容为所谓的窗口,包括
双指针
所指的元素。
·
2022-02-21 21:28
算法leetcode
LeetCode-
最长重复子数组
题目描述:题目.jpg解题思路:使用二维数组能够清晰的表示出两个数组相同的部分,此处二维数组定义为int[][]pointValue=newint[][];元素不同的位置标识为0,相同的位置存储以此位置向前数连续相同的个数图示.png完整代码:classSolution{publicintfindLength(int[]A,int[]B){//获取两数组长度intaLength=A.length;
eagerabu
·
2022-02-21 21:08
滑动窗口算法通用思想
输入:S="ADOBECODEBANC",T="ABC"输出:"BANC"思路滑动窗口算法的思路是这样:1、我们在字符串S中使用
双指针
中的左右指针技巧,初始化left=right=0,把索引闭区间[left
爱笨笨的阿狸
·
2022-02-20 08:50
leetcode-
程序员面试金典刷题-URL化
URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例1:输入:"MrJohnSmith",13输出:"Mr%20John%20Smith"示例2:输入:"",5输出:"%20%20%20%20%20"提示:字符串长度在[0,500000]范围内。来
荣荣的靓仔小馒头
·
2022-02-20 03:32
滑动窗口详解
--------鉴于前文二分搜索框架详解的那首《二分搜索升天词》很受好评,并在民间广为流传,成为安睡助眠的一剂良方,今天在滑动窗口算法框架中,我再次编写一首小诗来歌颂滑动窗口算法的伟大:image关于
双指针
的快慢指针和左右指针的用法
labuladong
·
2022-02-19 20:50
653-两数之和 IV - 输入 BST
最简单的方法,对树进行中序遍历,这样得到的数组就是有序的,然后
双指针
移动计算两个
不胖二十斤不改名zz
·
2022-02-19 06:03
三数之和&四数之和
示例:给定数组nums=[-1,0,1,2,-1,-4],满足要求的三元组集合为:[[-1,0,1],[-1,-1,2]]先排序
双指针
法思路:固定3个指针中最左(最小)数字的指针k,
双指针
i,j分设在数组索引
wyof
·
2022-02-19 02:37
leetcode 727 dp+
双指针
dp:image.pngcodeC++://dp112msstringminWindow(stringS,stringT){intm=S.size(),n=T.size();vector>dp(m+1,vector(n+1,-1));for(inti=0;ii-dp[i][j]){start=dp[i][j];minL=i-dp[i][j];}}}return(minL==INT_MAX)?"":
Ariana不会哭
·
2022-02-17 20:39
leetcode-
有效的字母异位词
给定两个字符串s和t,编写一个函数来判断t是否是s的一个字母异位词。示例1:输入:s="anagram",t="nagaram"输出:true示例2:输入:s="rat",t="car"输出:false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含unicode字符怎么办?你能否调整你的解法来应对这种情况?代码/***@param{string}s*@param{string}t*
8239e604d437
·
2022-02-17 18:54
Leetcode专题[数组]-16-最接近的三数之和
力扣链接:https://leetcode-cn.com/probl...解题思路:这道题的解题思路跟三数之和相同,都是:排序+
双指针
首先将数组排序,然后初始化三数之和为数组的前三个元素然后标的i第一个数字开始遍历
·
2022-02-17 15:37
golang
3.无重复的最长子串
思路:
双指针
classSolution(object):deflengthOfLongestSubstring(self,s):""":types:str:rtype:int"""l=0r=0res=0whiler
欧文坐公交
·
2022-02-17 15:41
Leetcode专题[数组]-11-盛雨水最多的容器
力扣链接:https://leetcode-cn.com/probl...解题思路:接雨水这个问题算是数组中比较经典的问题,还是先指出关键算法:
双指针
接下来还是老办法,分析题干,由题目可知,因为数组的下标可以看作是横坐标
·
2022-02-17 09:43
golang
Leetcode专题[数组]-283-移动零
力扣链接:https://leetcode-cn.com/probl...解题思路:这道题虽然比较简单,但是其实也是非常巧妙的,可以用
双指针
的解法首先定义快慢两个指针,初始化都为数组的第一个元素,快指针遍历整个数组
·
2022-02-16 22:53
golang
剑指offer—面试题18(一):删除链表的节点
(此题对比原题有改动)删除链表节点,首先就要想到单链表的特性,next指针指向下一个节点,所以就考虑到
双指针
,一个指针寻找要删除的节点,一个指向前一个指针之前的节点,找到后可以将后一个指针的next指向前一个指针的
FY_Chao
·
2022-02-16 16:51
Leetcode专题[数组]-228-汇总区间
首次拿到这个题目,脑海中先想到的就是
双指针
的做法,先选定算法,再分析细节在选择
双指针
之后,首先要确定遍历对象,那就是整个数组,通过循环来遍历整个数组起始时
双指针
均位于数组的第一个元素,然后快指针开始遍历
·
2022-02-16 14:45
golang
(JS
双指针
) LeetCode98. 验证二叉搜索树
题目:给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例1:输入:2/\13输出:true示例2:输入:5/\14/\36输出:false解释:输入为:[5,1,4,null,null,3,6]。根节点的值为5,但是其右子节点值为4。方法一递归思路:
关山Kwan
·
2022-02-16 10:15
C语言
双指针
算法朋友过情人节我过算法
目录
双指针
快慢指针真题实战
双指针
首先咱得知道何为
双指针
,听起来很上流,其实有手就行。
·
2022-02-15 14:54
C语言
双指针
多方法旋转数组解题LeetCode
目录暴力思路外加数组格局抬高环形替代LeetCode题目如下:首先这个中等难度我是没搞懂,后面才发现原来中等中在要求多方法上,那就来看看怎么搞定他吧。暴力思路首先我说一下我本人的思路,就是函数进行倒序操作,分三步:1.整体倒序:1234567-------76543212.前半部分倒序:7654321-------56743213.后半部分倒序:5674321-------5671234由于题目已
·
2022-02-15 10:33
IOS 算法(基础篇) ----- 平方数之和
例如:c=5返回true,理由1^2+2^2=5c=2返回true,理由1^1+1^1=2c=3返回false解题思路
双指针
设置a初始为0,b初始为c的最大平方根(因为b是整数,所以开方之后要取整),不断收缩找值
ShawnAlex
·
2022-02-14 23:19
leetcode-
加一
加一给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。最高位数字存放在数组的首位,数组中每个元素只存储一个数字。你可以假设除了整数0之外,这个整数不会以零开头。最开始想法:**超出int范围了classSolution{publicint[]plusOne(int[]digits){//129intcount=digits.length;//3intnum=0;for(inti
Pei丶Code
·
2022-02-14 22:21
【
双指针
】算法之双管齐下 2019-10-11(未经允许禁止转载)
1.
双指针
算法总述1.1
双指针
算法是什么
双指针
算法,是指通过各司其职又互相配合的两枚指针,解决线性表(线性表包括链表和顺序表两类)问题的一类算法其中,各司其职指两个指针背负不同的任务进行移动,互相配合指两个指针的移动也需要协同配合
9_SooHyun
·
2022-02-14 08:32
剑指offer—面试题18(二):删除链表中重复的节点
示例1:输入:1->1->2输出:1->2示例2:输入:1->1->2->3->3输出:1->2->3使用
双指针
,快慢指针一次循环遍历,每次对比两个节点是否相同,相同快指针指向下一节点,不同快慢指针个指向下一个节点
FY_Chao
·
2022-02-13 22:28
每天进步一点点【2019.8.21】
的形式给出;要求:原地修改数组,使用长度为O(1)的额外空间解决问题;输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]分析:在考虑满足题目原地修改数组要求,使用
双指针
对数组中元素进行交换
天使的流浪
·
2022-02-13 13:30
『算法』『数据结构』 浅谈滑动窗口算法(思想)[
双指针
法中的左右指针法],理解程序员必懂必会的计算机常见算法——滑动窗口算法(思想)[
双指针
法中的左右指针法]
基本认识滑动窗口算法的本质是
双指针
法中的左右指针法,滑动窗口算法是
双指针
法中的左右指针法更为形象的一种表达方式。滑动窗口算法可以用以解决数组、字符串的子元素问题。
_LanXiu
·
2022-02-13 08:30
木桶问题
双指针
法publicclassSolution{publicintmaxArea(int[]height){intl=0,r=height.length-1;intans=0;while(l
CVD
·
2022-02-12 21:17
LeetCode刷题分类之
双指针
28.实现 strStr()
28.实现strStr()题目实现strStr()函数。给定一个haystack字符串和一个needle字符串,在haystack字符串中找出needle字符串出现的第一个位置(从0开始)。如果不存在,则返回-1。示例1:输入:haystack="hello",needle="ll"输出:2示例2:输入:haystack="aaaaa",needle="bba"输出:-1思路移动pn指针,直到pn
逍遥白亦
·
2022-02-12 06:26
leetcode-
数组-只出现一次的数字|Single Number(Python3)
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。你可以不使用额外空间来实现吗?示例1:输入:[2,2,1]输出:1示例2:输入:[4,1,2,1,2]输出:4代码主体:不经常用异或classSolution:defsingleNumber(self,nums):""":typenums:List[int]:
lqy007700
·
2022-02-11 04:25
从0学算法:
双指针
双指针
,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问。而是使用两个指针采用不同的方式进行移动,从而达到我们的目的。
momo_vivi
·
2022-02-11 04:55
2Sum 3Sum 4Sum 问题
摘自labuladong两数之和扩展版nums=[1,3,1,2,2,3],target=4问题一:[1,3]和[3,1]就算重复,通过先排序再
双指针
可实现结果的按顺序排列。
卢容和
·
2022-02-10 11:02
前端从0加速
leetcode
算法
javascript
leetcode-
初级-数组~总结
1:(反转函数)java:while(start
coder_flag
·
2022-02-09 20:42
LeetCode-
合并两个有序数组
给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。你可以假设nums1有足够的空间(空间大小大于或等于m+n)来保存nums2中的元素。示例:输入:nums1=[1,2,3,0,0,0],m=3nums2=[2,5,6],n=3输出:[1,2,2,3,5,6]基本思想按顺序结合最后合并
G_dalx
·
2022-02-09 08:51
19. 删除链表的倒数第N个节点
解法使用
双指针
来处理。指针先走步,然后指针与指针同时推进,当指针走到链表尾时,指针正好走到倒数的位置。这时候只需要即可,但是如果直接
王可尊
·
2022-02-09 01:57
LeetCode | 0524. Longest Word in Dictionary through Deleting通过删除字母匹配到字典里最长单词【Python】
LeetCode0524.LongestWordinDictionarythroughDeleting通过删除字母匹配到字典里最长单词【Medium】【Python】【
双指针
】题目英文题目地址Givenastringandastringdictionary
Wonz
·
2022-02-08 23:39
双指针
算法
leetcode76.最小覆盖子串给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串""。注意:对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量。如果s中存在这样的子串,我们保证它是唯一的答案。示例1:输入:s="ADOBECODEBANC",t="ABC"输出:"BANC"使用两个哈希表,ht存字符串t的字
·
2022-02-08 15:34
leetcode算法
leetcode350. 两个数组的交集Ⅱ
示例: 输入:nums1=[1,2,2,1],nums2=[2,2] 输出:[2,2]思路一:排序+
双指针
我们可以先将所给两个数组进行排序,之后用
双指针
遍历这两个有序序列,遍历过程如下:若两个指针指
2021dragon
·
2022-02-08 10:37
leetcode
算法
leetcode
two-sum 问题
小的下标在前,较大下标在后如果数组有序就好办了,
双指针
向中间逼近。但是数组无序,两重循环肯定不是好方法。
小码弟
·
2022-02-06 17:13
【蓝桥Java每日一练】————4.移除元素
今天给大家带来一道基础的
双指针
题目移除元素,刷题虽易,但贵在坚持,大家寒假一起加油刷题。
执 梗
·
2022-02-06 12:10
Java每日一题
java
蓝桥杯
开发语言
合并两个有序数组——
双指针
还是
双指针
问题,积累的知识点是:1复制数组——System.arraycopy(nums2,0,nums1,0,j+1);nums2从零开始复制到nums1从零开始的位置,复制j+1个元素;2因为题中说了
含泪若笑
·
2022-02-06 01:26
leetcode之贪心算法刷题总结1
思路:这个题最容易想到双重循环的暴力法,O(n^2)的时间复杂度肯定超时,所以我们使用头尾
双指针
,找出面积最大即可。
nuist__NJUPT
·
2022-02-05 17:57
算法与数据结构
leetcode
贪心算法
算法
leetcode刷题(四)--- 贪心思想(go实现)
leetcode刷题整理系列leetcode刷题(一)—
双指针
思想leetcode刷题(二)—排序思想leetcode刷题(三)—二分查找思想leetcode刷题(四)—贪心思想leetcode刷题类型
谬也
·
2022-02-05 17:57
算法
leetcode
golang
算法
leetcode 86. 分隔链表
相关话题: 链表、
双指针
难度: 中等示例:输入:head=1->4->3->2->5->2,x=3输出:1->2->2->4->3->5思路:思路其实和荷兰国旗问题的partition差不多,只是有些边界问题需要注意
topshi
·
2022-02-04 19:22
LeetCode 84:柱状图中最大的矩形(困难)
LeetCode84:柱状图中最大的矩形解答这两道单调栈的题目需要好好反思一下,为什么思路大体正确但是都没有做出来代码一思路一模仿接雨水中
双指针
的方法,接雨水中是要找到val左右两侧中最高的柱子,取min
风zx
·
2022-02-04 17:23
LeetCode
leetcode
上一页
106
107
108
109
110
111
112
113
下一页
按字母分类:
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
其他