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-
有序数组中的单一元素
题目:给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。示例1:输入:[1,1,2,3,3,4,4,8,8]输出:2示例2:输入:[3,3,7,7,10,11,11]输出:10注意:您的方案应该在O(logn)时间复杂度和O(1)空间复杂度中运行。题解:该题时间复杂度为O(n)的解法是:使用异或;时间复杂度为O(logn)的解法是:使用二分法;packagec
Lee_jiaqi
·
2020-08-16 04:26
Leetcode
力扣四数之和
一、题目描述二、分析这道题和:三数之和:三数之和类似,直接放代码:三、代码classSolution{public://只需要返回三个数的和,根据15的
双指针
来改intthreeSumClosest(vector
wolf鬼刀
·
2020-08-16 03:14
算法
剑指 offer 刷题——18(2).删除链表中重复的节点
例如,链表1->2->3->3->4->4->5处理后为1->2->5二、思路及代码实现思路:
双指针
创建
双指针
p1、p2,p1指向当前确定不重复的那个节点,p2作为工作指针,一直往后面搜索。
TheManba
·
2020-08-16 03:06
剑指offer刷题
java
链表
指针
数据结构
LeetCode-
trapping-rain-water
Givennnon-negativeintegersrepresentinganelevationmapwherethewidthofeachbaris1,computehowmuchwateritisabletotrapafterraining.Forexample,Given[0,1,0,2,1,0,1,3,2,1,2,1],return6.Theaboveelevationmapisrepr
六月二十七
·
2020-08-16 03:22
LeetCode
LeetCode-
permutations
Givenacollectionofnumbers,returnallpossiblepermutations.Forexample,[1,2,3]havethefollowingpermutations:[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],and[3,2,1].importjava.util.*;publicclassSolution{publicAr
六月二十七
·
2020-08-16 03:50
LeetCode
LeetCode
LeetCode-
wildcard-matching
Implementwildcardpatternmatchingwithsupportfor'?'and'*'.'?'Matchesanysinglecharacter.'*'Matchesanysequenceofcharacters(includingtheemptysequence).Thematchingshouldcovertheentireinputstring(notpartial)
六月二十七
·
2020-08-16 03:50
LeetCode
LeetCode
2020年6月24日打卡
Leetcode16.最接近的三数之和方法:排序+
双指针
题目给定一个包括n个整数的数组nums和一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。
weixin_41058363
·
2020-08-16 03:25
日常打卡
Valid Palindrome II【Easy】【
双指针
-可以删除一个字符,判断是否能构成回文字符串】...
Givenanon-emptystrings,youmaydeleteatmostonecharacter.Judgewhetheryoucanmakeitapalindrome.Example1:Input:"aba"Output:TrueExample2:Input:"abca"Output:TrueExplanation:Youcoulddeletethecharacter'c'.Note:
weixin_33895475
·
2020-08-16 02:57
leetcode力扣刷题系列python——3、无重复字符的最长子串
解法:采用哈希表法:设定左右
双指针
l和r,遍历字符串;哈希表存储某字符s[i]最新在字符串中出现的位置index+1,key,value对应
weixin_30699831
·
2020-08-16 02:58
LeetCode 228.区间汇总
题目题目链接思路
双指针
,找到满足题意的连续闭区间[i,j],找到后会有两种情况,i==j时输出一个元素;i!
遇到坎就得迈过去
·
2020-08-16 01:08
LeetCode
LeetCode 力扣 刷题记录(11 - 15)题目+算法分析+Cpp解答
GitHub链接:https://github.com/WilliamWuLH/LeetCode如果你觉得不错可以⭐Star和Fork❤11.ContainerWithMostWater
双指针
法:高度低的指针必须向着高度高的指针的方向靠拢
吴林瀚
·
2020-08-16 01:58
LeetCode
C++
算法
LeetCode 力扣:15.3Sum + 16.3Sum Closest + 18.4Sum 排序 +
双指针
遍历 题目+算法分析+Cpp解答
GitHub链接:https://github.com/WilliamWuLH/LeetCode如果你觉得不错可以⭐Star和Fork❤15.3Sum排序+
双指针
遍历:首先,将给定的数组进行排序(从小到大的顺序
吴林瀚
·
2020-08-16 01:58
C++
LeetCode
算法
LeetCode 力扣 刷题记录 56.Merge Intervals 题目+算法分析+Cpp解答
GitHub链接:https://github.com/WilliamWuLH/LeetCode如果你觉得不错可以⭐Star和Fork❤56.MergeIntervals排序+
双指针
:首先将给定的数字区间进行排序
吴林瀚
·
2020-08-16 01:58
算法
LeetCode
C++
LeetCode 力扣 刷题记录 76.Minimum Window Substring 题目+算法分析+Cpp解答
链接:https://github.com/WilliamWuLH/LeetCode如果你觉得不错可以⭐Star和Fork❤76.MinimumWindowSubstring滑动窗口:滑动窗口的思想:
双指针
吴林瀚
·
2020-08-16 01:58
算法
LeetCode
C++
LeetCode-
岛屿数量(bfs)
广度优先搜索模板题:给定一个由'1'(陆地)和'0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例1:输入:11110110101100000000输出: 1示例2:输入:11000110000010000011输出:3classSolution{private:intcount=0;intdx[
nabatl
·
2020-08-16 01:03
bfs
bfs
LeetCode
队列
力扣周赛 2020/6/7
数组中的k个最强值
双指针
public:vectorgetStrongest(vector&arr,intk){//对数组进行排序vectorres;sort(arr.begin(),arr.end())
qq_41551607
·
2020-08-16 01:16
7月8日训练总结
双指针
算法牛客上遇到一个问题,可以用尺取+离散化做,但是尺取本质上也是
双指针
算法,所以复习一下
双指针
算法题目描述FarmerJohn’sNcows(1usingnamespacestd;mapvis;inta
思维在奔跑
·
2020-08-16 00:16
训练总结
C练题笔记之:
Leetcode-
面试题 02.07. 链表相交 && 160. 相交链表 &&剑指 Offer 52 两个链表的第一个公共节点
题目:剑指Offer52两个链表的第一个公共节点和面试题是一样的,160描述有点不一样,其实代码都一样给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。示例1:输入:intersectVal=8,listA=[4,1,8,4,5],listB=
悦阳要努力哟
·
2020-08-15 23:53
C
刷题笔记
C练题笔记之:
Leetcode-
两数相加
这道题虽然不难,但是主要第一次碰到了三目的这种用法,所以记下来~题目:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不会以0开头。示例:输入:(2->4->3)+(5->6->4)输出:7->0->8原因:342+465=
悦阳要努力哟
·
2020-08-15 23:53
C
刷题笔记
Leetcode-
数组中重复的数
题目描述题目分析题目思路比较简单,只需要找其中一个有重复的数字输出就好,可以先把数组进行排序,然后比较相邻两个数是否相同就好。时间:O(nlogn)空间:O(1)题目解答classSolution{publicintfindRepeatNumber(int[]nums){if(nums==null||nums.length<=0)return-1;Arrays.sort(nums);for(int
fucccck_ly
·
2020-08-15 23:16
LeetCode
面试
算法与数据结构
【LeetCode】680. Valid Palindrome II 验证回文字符串 Ⅱ(Python)
作者:负雪明烛id:fuxuemingzhu个人博客:http://fuxuemingzhu.cn/目录题目描述题目大意解题方法
双指针
思路来源初版方案进阶方案日期题目地址:https://leetcode.com
负雪明烛
·
2020-08-15 23:46
LeetCode
算法
LeetCode题解 --
双指针
(680)
ValidPalindromeIIGivenanon-emptystrings,youmaydeleteatmostonecharacter.Judgewhetheryoucanmakeitapalindrome.时间复杂度:O(n^2)空间复杂度:O(1)没找到其他的方法,基本上都是这样做的publicbooleanvalidPalindrome(Strings){intlength=s.len
fantow
·
2020-08-15 22:51
#双指针
双指针
求解
给定字符串s和t,判断s是否为t的子序列。你可以认为s和t中仅包含英文小写字母。字符串t可能会很长(长度~=500,000),而s是个短字符串(长度<=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1:s="abc",t="ahbgdc"返回true.示例2:s="
zengweidaren
·
2020-08-15 20:30
Java
指针
java
codeforces 1366B(区间合并、
双指针
)
题目题意:通过交换a[k]可以获得的1可以在的最多位置得个数AC代码:package练习;importjava.io.*;importjava.math.BigInteger;importjava.util.*;publicclassMain{staticScannersc=newScanner(System.in);publicstaticvoidmain(String[]args){//sho
dosafdc
·
2020-08-15 14:25
二分
双指针
【项目合作】海隆石油工业集团诚邀巡检识别工程合作伙伴
下面介绍具体巡检识别需求如下:项目一:表计识别分类指针表识别:指针类型:单指针、
双指针
、细指针、白指针等各种指针表类型表计指针表类型:油温表、油压表、压力表、电流表、电压表等各种功能表类型油位表识别:油位表类型
我爱计算机视觉
·
2020-08-15 14:16
LeetCode medium
看官方题解说是
双指针
往前往后扫,具体写法自己想了半天,最卡的点就是如果两边又想等怎么办。
ansu1440
·
2020-08-15 13:21
盛最多水的容器--
双指针
0x01.问题给你n个非负整数a1,a2,…,an,每个数代表坐标中的一个点(i,ai)。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai)和(i,0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为2。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49来源于LeetcodepublicintmaxArea(int[]heig
ATFWUS
·
2020-08-15 13:39
算法
删除链表的倒数第N个节点--哑节点和
双指针
0x01.问题给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。给定的n保证是有效的。C++结构体:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){}*};*/C++函数形式:ListNode*removeNthFrom
ATFWUS
·
2020-08-15 13:03
算法
分隔链表--
双指针
操作
0x01.问题给定一个链表和一个特定值x,对链表进行分隔,使得所有小于x的节点都在大于或等于x的节点之前。你应当保留两个分区中每个节点的初始相对位置。输入示例:head=1->4->3->2->5->2,x=3输出示例:1->2->2->4->3->5C++结构体:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNod
ATFWUS
·
2020-08-15 13:03
算法
27.移除元素(Remove Element)
27.移除元素RemoveElement题解
双指针
1算法流程:复杂度分析PythonJava(待完成)
双指针
2算法流程:复杂度分析PythonJava(待完成)题解本题难点,原地修改且在O(1)O(1)
朱师傅哈
·
2020-08-15 12:24
#
数组(Array)
Boats Competition【
双指针
】
思路
双指针
,枚举2-2*n。
WXD_LOVE_GTQ
·
2020-08-15 12:38
双指针
乘积最大【
双指针
】
链接AcWing1239.乘积最大思路k==n所有的数字是全部都选。kusingnamespacestd;typedeflonglongll;constintmaxn=100010;constintmod=1e9+9;lla[maxn];intmain(void){intn,k;cin>>n>>k;for(inti=0;i>a[i];sort(a,a+n);llans=1;intl=0,r=n-1
WXD_LOVE_GTQ
·
2020-08-15 12:38
双指针
Boats Competition(
双指针
)
题目链接题目大意给你一组人让其两两结合,要求每个两两结合的总体重要一样,问可以有几个两两结合的组合其中每个人的体重不能大于总人数n的值解题思路这里采用的是暴力遍历+
双指针
的思路由题可知总体重不大于2n先将体重数组排序这里对总体重的每一个可能的值都进行遍历
zjkaikai
·
2020-08-15 11:17
codefoces
Remove Duplicate from Array(数组去重)
遇到这类问题我们应该先想用哈希表,位运算,
双指针
是否可以解决,根据具体的情况选择合适的方法。下面是leetcode中有关数组去重或查重的几道题目。
iteye_6051
·
2020-08-15 10:02
Leetcode
栈的问题
leetcode值得刷的题1.复杂过程仔细分析的42.TrappingRainWater84.LargestRectangleinHistogram超级相似的两道题,不过水这个因为有连续性可以用
双指针
,
Ruidu_Doer
·
2020-08-15 10:57
数据结构与算法
leetcode
数据结构与算法
栈
42.接雨水(单调栈/双向记录前后缀/
双指针
) 407.接雨水2(优先队列+bfs)
42.接雨水这道题我第一次做的时候我记得是维护单调队列的解法,现在再来看看吧,好的,维护单调队列,这边记录高度的同时,也要记录这一块高度的宽度是多少了,所以用了一个结构体,然后因为出队列是一个先进后出的形式,但是又要访问队首元素,综合考量用deque比较合适。具体queue和deque的区别见https://zhuanlan.zhihu.com/p/77981148classSolution{pu
hbhhhxs
·
2020-08-15 10:21
算法
C++
26. 删除排序数组中的重复项
双指针
!!!classSolution{publicintrem
本姑凉不耐代码
·
2020-08-15 07:18
leetcode
【LeetCode】206.反转链表(动图解析,
双指针
+递归,java实现)
题目链接分析利用外部空间这种方式很简单,先申请一个动态扩容的数组或者容器,比如ArrayList这样的。然后不断遍历链表,将链表中的元素添加到这个容器中。再利用容器自身的API,反转整个容器,这样就达到反转的效果了。最后同时遍历容器和链表,将链表中的值改为容器中的值。因为此时容器的值是:54321链表按这个顺序重新被设置一边,就达到要求啦。当然你可以可以再新创建N个节点,然后再返回,这样也可以达到
Hi丶ImViper
·
2020-08-15 04:34
LeetCode
面试之路(29)-合并两个排序的链表(递归和非递归)
链表的类:classListNode{intkey;ListNodenext;}思路:这个和数组不一样,不需要采用
双指针
,从后往前来代码:递归publicListNodemerge(ListNodehead1
fesng
·
2020-08-15 03:37
算法面试
面试
计算机专业面试
leetcode-
有效的括号(c语言)
题目:给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例1:输入:"()"输出:true示例2:输入:"()[]{}"输出:true示例3:输入:"(]"输出:false示例4:输入:"([)]"输出:false———————————————
剑在桥上
·
2020-08-15 02:59
双指针
(下标)的应用
算法与语言无关,指针是C语言的范畴双下标⇒指向双数组(可见两个数组遍历并不同步),也可指向单独的数组(指向不同的起点,或者变化不一致),1.朴素字符串匹配defnaive_matching(t,p):m,n=len(t),len(p)i,j=0,0whilein){throwexception("BadException!");}inti=rand()%(e-s)+s;swap(&data[i],
Inside_Zhang
·
2020-08-15 02:54
算法笔记
记一个回文链表中的小坑——Java对象与对象的比较
1:输入:1->2输出:false示例2:输入:1->2->2->1输出:true题目本身还是很容易的,我最快想到的一种实现方式是,先遍历一遍,把所有元素取出来放到ArrayList里面;再遍历一遍,
双指针
一头一尾向中间靠拢
Fredroid
·
2020-08-15 01:55
Java笔记
LeetCode
java
leetcode
快速选择(模板)
快速选择原理如下,选择第k大的数字:我们在快速选择的时候,也同样用了划分的思想,随机选择一个中轴,
双指针
i,j,指针i从左往右扫描,指针j从右往左扫描,如果i>1];while(ix);if(i&
LittlePage
·
2020-08-15 00:00
快速排序(模板)
快速排序原理如下:我们在排序的时候,用到了划分的思想,随机选择一个中轴,
双指针
i,j,指针i从左往右扫描,指针j从右往左扫描,如果i=r)return;inti=l-1,j=r+1,x=q[l+r>
LittlePage
·
2020-08-15 00:00
给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数(不可以重复使用同一个数)
使用
双指针
解法:publicint[]twoSum(int[]nums,inttarget){inti=0;intj=nums.length-1;while(itarget){j--;}else{returnnewint
baobao1767640830
·
2020-08-14 23:47
lecode刷题
LEETCODE 125
raceacar"isnotapalindrome判断是否为回文串,一般是用
双指针
,一个指针从前遍历,一个从
zj443108444
·
2020-08-14 22:32
leetcode
图解两数之和:
双指针
法
case:给定nums=[2,1,7,11,15],target=9因为nums[0]+nums[2]=2+7=9所以返回[0,2]之前我们探讨了这个问题的暴力运算法和哈希表法,今天我们使用
双指针
法来解决它
王亮hengg
·
2020-08-14 22:56
javascript
前端
算法
面试
数组
【LeetCode题解】844_比较含退格的字符串(Backspace-String-Compare)
文章目录描述解法一:字符串比较思路Java实现Python实现复杂度分析解法二:
双指针
(推荐)思路Java实现Python实现复杂度分析描述给定S和T两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等
StrongXGP
·
2020-08-14 22:27
LeetCode
leetcode
stack
two
pointers
【LeetCode题解】142_环形链表2(Linked-List-Cycle-II)
文章目录描述解法一:哈希表思路Java实现Python实现复杂度分析解法二:
双指针
思路Java实现Python实现复杂度分析描述给定一个链表,返回链表开始入环的第一个节点。
StrongXGP
·
2020-08-14 22:27
LeetCode
LeetCode题解
【LeetCode题解】3_无重复字符的最长子串(Longest-Substring-Without-Repeating-Characters)
文章目录描述解法一:暴力枚举法(TimeLimitExceeded)思路Java实现Python实现复杂度分析解法二:滑动窗口(
双指针
)思路Java实现Python实现复杂度分析解法三:滑动窗口(优化版
StrongXGP
·
2020-08-14 22:55
LeetCode
上一页
130
131
132
133
134
135
136
137
下一页
按字母分类:
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
其他