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-双指针
hdu5289 Assignment(极差<k的子区间数量,单调性证明+
双指针
+单调队列)
题意:给定长度为n的序列a,问有多少个子区间,满足该子区间的最大值和最小值的差值=k,ma()和mi()需要rmq数据结构.解法3:枚举r,指针维护l,指针向右移动得条件是ma(l,r)-mi(l,r)>=k,[l,r]的ma和mi用两个单调队列维护解法3是O(n)的,比前面两种都快,代码用的解法3.code:#includeusingnamespacestd;#defineintlonglong
这有点难啊
·
2020-08-24 11:17
【LeetCode】28.实现strstr() (KMP超详细讲解,sunday解法等五种方法,java实现)
双指针
方法虽然也是线性时间复杂度,不过它可以避免比较所有的子串,因此最优情况下的时间复杂度
Hi丶ImViper
·
2020-08-24 11:54
LeetCode
LeetCode-
移除元素
题解 首先是我提交的解法,思路繁琐,代码长,曲线救国。采用前后指针的方法,找到符合条件的元素就交换位置。防止重复交换,要把每次交换完的val值修改,合理改成INT32MAX,即假设了测试案例的数组中不含有INT32_MAX.#include"iostream"#include"vector"#include"limits"usingnamespacestd;classSolution{publi
胖虎啊胖虎
·
2020-08-24 11:46
LeetCode-
实现Strstr
题解
双指针
法 这道题是字符串匹配问题,第一反应当然是KMP算法和BF算法,虽然前两天刚学了KMP,自己动手写还是不会写next数组。
胖虎啊胖虎
·
2020-08-24 11:46
leetcode-
插入排序
leetcode插入排序链表的插入排序,最简单的方法定义3个指针,链表首节点,访问的当前节点,排序好的尾节点,1.通过访问节点与首节点相比,比首节点的值小于或等于,则插入链表之前。2,与排序好的尾节点相比,大于或等于,在插入排序后的尾节点之后。3,在链表中间,则从首节点一路访问,直到找到合适的位置。此思路是借鉴博主天涯海角的,简单明了,作为学习记录。代码如下。/***Definitionforsi
策良何有
·
2020-08-24 11:56
leetcode-
二分查找
leetcode-29给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和mod运算符。返回被除数dividend除以除数divisor得到的商。算法设计:用2进制的左移操作,每次对被除数左移1位,比较除数与被除数左移的后的大小关系,并在结果中加上左移的数据,直到被除数小于除数为止。源代码:defdivide(self,dividend,divisor):"
thxiong1234
·
2020-08-24 10:02
Python
LeetCode-
搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例1:输入:[1,3,5,6],5输出:2示例2:输入:[1,3,5,6],2输出:1示例3:输入:[1,3,5,6],7输出:4示例4:输入:[1,3,5,6],0输出:0classSolution{publicintsearchInsert(in
s695540301
·
2020-08-24 10:53
OJ练习
LeetCode
反转链表
双指针
O(n)反转链表好题
剑指Offer24.反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL限制:0next;fast->next=low;low=fast;fast=tmp;}returnlow;}};
qq_31036127
·
2020-08-24 09:03
反转链表
双指针
好题
线性时间
经典剑指offer
leetcode-
初级-存在重复元素
给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。/*时间复杂度很大*/boolcontainsDuplicate(int*nums,intnumsSize){inti,j;for(i=0;imax)max=nums[i];if(nums[i]
mouthful
·
2020-08-24 09:53
6-2 单链表结点删除(20 分)_单链表的删除节点的两种方式——还是
双指针
和链表覆盖好用
6-2单链表结点删除(20分)本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:structListNode{intdata;ListNode*next;};函数接口定义:structListNode*readlist();structListNode*deletem(structListNode*L,intm);函数readlist从标准
Jianbagengmu
·
2020-08-24 08:33
PTA题目集
链表
几种面试常见排序的实现
快速排序,分治,每次通过
双指针
挖坑确定一个数的位置归并排序,分治,每次合并两个有序数组堆排序,维护一个最小堆插入,插入末尾,从末尾开始向根节点方向交换推出,取出根节点,将末尾和根节点交换,从根节点向叶子节点交换
ToRe.
·
2020-08-24 08:50
笔记
#
排序
2020 leetcode 刷题记录
刷题杂题链表位运算
双指针
单调栈二叉树字符串动态规划二分杂题二叉树的三种迭代遍历:code十种排序leetcode347.前K个高频元素巧妙使用快排的思想leetcode399.除法求值带权并查集leetcode621
NOTRp
·
2020-08-24 08:50
刷题
[ 杂题 ] Codeforces955D Scissors
对于tt的每个前缀,
双指针
扫一遍求出在ss中出现的最左的位置,对每个后缀求出最右的位置。然后枚举tt中分割的位置就好了。注意判断tt在一个子串中出现的情况。UPD:感谢lifelikes指出错误。
gjghfd
·
2020-08-24 08:04
杂题
LeetCode刷题记录
题号思路时间8.StringtoInteger(atoi)没想到有限自动机,写的太臃肿,边界条件考虑的也不足,用DFA分析起来就会很舒服2020.4.311.ContainerWithMostWater看题解,
双指针
MashiroRin
·
2020-08-24 07:45
LeetCode-
搜索插入位置
这道题比较简单,开始想使用find函数,但是对于vector本身没有find函数的容器,需要调用algorithm中的find函数。vector::iteratorit=find(vec.begin(),vec.end(),target),若查找失败返回vec.end(),查找成功返回迭代器,但是题目要求返回的是数组中的位置,所以感觉不行。最简单的还是写循环,清晰明了。#include"ios
胖虎啊胖虎
·
2020-08-24 07:18
Leetcode-
搜索插入位置
10.搜索插入位置题目内容:代码及思路:classSolution{public:intsearchInsert(vector&nums,inttarget){if(nums.size()==0)return-1;intlength=nums.size();intbegin=0;for(inti=0;itarget)returnbegin;elseif(nums[length-1]target){
chestnutllin
·
2020-08-24 06:26
Leetcode编程题
LeetCode-
搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例1:输入:[1,3,5,6],5输出:2示例2:输入:[1,3,5,6],2输出:1classSolution:defsearchInsert(self,nums,target):""":typenums:List[int]:typetarget:
brook_
·
2020-08-24 06:30
python
leetcode
LeetCode 28. 实现 strStr()(KMP、字符串)
上一篇博客:LeetCode27.移除元素(
双指针
) 写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun。我是一个热爱ACM的蒟蒻。
ACfun:)
·
2020-08-24 06:51
LeetCode
LeetCode
KMP算法
C++
leetcode-
链表相加
题目给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例:输入:(7->1->6)+(5->9->2),即617+295输出:2->1->9,即912思路采用原地算法,比较两个链表长度,如果长度一致,那么链表相加到任一链表,计算最后一位相加进位情况,如果是1,则在两个链表任选一多分配一个长度,并赋值为1。
wenpi_linuxer
·
2020-08-24 02:22
leetcode
leetcode-
把数字翻译成字符串
给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成“a”,1翻译成“b”,……,11翻译成“l”,……,25翻译成“z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例1:输入:12258输出:5解释:12258有5种不同的翻译,分别是"bccfi",“bwfi”,“bczi”,“mcfi"和"mzi”提示:0#include#include#inc
龙啸wyh
·
2020-08-24 01:31
LeetCode
算法思想:
双指针
双指针
主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。
双指针
可以从不同的方向向中间逼近也可以朝着同一个方向遍历。在LeedCode中有很多题目可以通过
双指针
的思想来解答。
ID:funkol2007
·
2020-08-24 01:43
算法思想
leetcode-
分式化简
题目描述:有一个同学在学习分式。他需要将一个连分数化成最简分数,你能帮助他吗?连分数是形如上图的分式。在本题中,所有系数都是大于等于0的整数。输入的cont代表连分数的系数(cont[0]代表上图的a0,以此类推)。返回一个长度为2的数组[n,m],使得连分数的值等于n/m,且n,m最大公约数为1。示例:输入:cont=[3,2,0,2]输出:[13,4]来源:力扣(LeetCode)链接:htt
笨笨的灰太狼
·
2020-08-24 00:50
算法
LeetCode-
把数字翻译成字符串-python3实现
题目描述:给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成“a”,1翻译成“b”,……,11翻译成“l”,……,25翻译成“z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例1:输入:12258输出:5解释:12258有5种不同的翻译,分别是"bccfi","bwfi","bczi","mcfi"和"mzi"实现:classSolution:de
JavaNewbie__
·
2020-08-23 23:19
一个结构体的
双指针
和一个结构体的数组指针使用例子(都可以)
1结构体的数组指针DataFormatStrg_out_data_buf[2];DataFormatStrg_int_data_buf[20];typedefstruct{UINT32di;UINT32len;UINT8buf[256];}DataFormatStr;/**@brief电表数据格式转集中器数据格式@param[in]UINT32orignal_id-集中器原始命令id@param[
sweetfather
·
2020-08-23 19:57
工作常用
学习新知识
【Leetcode_总结】 917. 仅仅反转字母 -python
示例1:输入:"ab-cd"输出:"dc-ba"示例2:输入:"a-bC-dEf-ghIj"输出:"j-Ih-gfE-dCba"思路:
双指针
,分别从字符串两侧向中间遍历,判断是否是字母,如果是,交换两个字符
Maka_uir
·
2020-08-23 17:46
Leetcode
链表中的
双指针
链表中的
双指针
,一般是指初始时设置两个移动指针,它们可能以不同的初始状态或不同的移动方式进行移动。1.删除链表的倒数第N个节点题目描述:给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。
ji_r
·
2020-08-23 17:15
leetcode
数据结构
链表
双指针
“
双指针
法”的背后:Floyd环检测算法
LeetCode上面的题目#141:https://leetcode.com/problems/linked-list-cycle/。题目大意:给定一个单链表,判断其中是否有环。这道题还有一个变种#142:https://leetcode.com/problems/linked-list-cycle-ii/。题目大意:给定一个单链表,如果其中有环,输出环的入口节点,否则输出null。对于这种题目,
LittleMagic
·
2020-08-23 17:32
双指针
法详细讲解(例一:给定一个递增序列和一个正整数。例二:序列合并问题)
4.6.1什么是
双指针
?
双指针
是一个编程技巧。由于是一个编程技巧,所以更适合结合着题练习。
J_aSON_
·
2020-08-23 15:53
C/C++
剑指offer思路笔记
O(n2)剑指Offer24.反转链表解法一:遍历链表,存储逆序O(n)O(n)解法二:
双指针
O(n)O(1)解法二:递归O(n)剑指Offer5
做人嘛最重要的是开心啦
·
2020-08-23 11:33
java
Leetcode 16 最接近的三数之和
.(-1+2+1=2).思路:与上题的思路类似,
双指针
,只是这里需要考虑的去重和边界值不一样。并且,计算最接近的时候一定要使用绝对
hekirakuno
·
2020-08-23 10:32
LeetCode19 删除链表的倒数第N个节点(快慢指针/滑动窗口)
示例:给定一个链表:1->2->3->4->5,和n=2.当删除了倒数第二个节点后,链表变为1->2->3->5.解题思路
双指针
/滑动窗口『剑指offer』有道和这题类似的,那题是找到倒数第k个点,但不用删除
小胡同的诗
·
2020-08-23 10:10
双指针
LeetCode
LeetCode11 盛最多水的容器(
双指针
)
题目链接:leetcode11题目大意给你n个非负整数a1,a2,…,an,每个数代表坐标中的一个点(i,ai)。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai)和(i,0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为2。图中垂直线代表输入数组[1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最
小胡同的诗
·
2020-08-23 10:39
双指针
LeetCode
Leetcode-633. 平方数之和
示例1:输入:5输出:True解释:1*1+2*2=5示例2:输入:3输出:False思路:
双指针
法。
WangXu__
·
2020-08-23 07:11
Leetcode
算法学习(六)链表问题总结,相交,成环
这样是不是有点low啊,是的,下面就是经典的
双指针
方法,这里要再次强调下链表的一个特性
shitangdejiaozi
·
2020-08-23 07:09
算法学习
LeetCode-16 最接近的三数之和
题目:16.最接近的三数之和难度:中等分类:数组解决方案:
双指针
今天我们学习第16题最接近的三数之和,这是一道中等题。
jacob2359
·
2020-08-23 06:48
LeetCode-
无重复字符串的最长子串
题目:无重复字符串的最长子串给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:"abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:"bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。示例3:输入:"pwwkew"输出:3解释:因为无重复字符的最长子串是"wke",所以其长度为3。请注意,你的答案必须
侯先森_Smile
·
2020-08-23 03:22
牛客挑战赛42 A.小睿睿的数列
的最长区间有多少个输入描述:第一行111个整数nnn,表示数列的长度第二行nnn个正整数,第iii个整数表示数列aia_iai输出描述:一行1个整数,表示答案示例1输入511111输出1示例2输入52471122输出2典型的
双指针
题
旺 崽
·
2020-08-23 02:26
双指针
牛客
小码哥《恋上数据结构与算法》笔记(六):队列
具体代码在Queue,欢迎star目录一、队列(Queue)二、队列接口设计三、队列的实现四、
leetcode-
栈实现队列五、双端队列(Deque)六、双端队列的接口设计与实现七、循环队列(CircleQueue
White Camel
·
2020-08-23 01:40
数据结构与算法
【LeetCode题解】230. 二叉搜索树中第K小的元素
null,2],k=13/\14\2输出:1示例2:输入:root=[5,3,6,2,4,null,null,1],k=35/\36/\24/1输出:3来源:力扣(LeetCode)链接:https://
leetcode
zzzfeiyu
·
2020-08-23 00:06
LeetCode题解
给定一个字符串,问是否能通过添加一个字母将其变为回文串
输入描述:一行一个由小写字母构成的字符串,字符串长度小于等于10输出描述:输出答案(YES\NO)输入coco输出YES思路:
双指针
,一前一后,遍历一次importjava.util.
熊三@
·
2020-08-23 00:39
Exercises
FJUT 2133(
双指针
尺取)
第七集,奇思妙想TimeLimit:2000MSMemoryLimit:128MB64-bitintegerIOformat:%lldProblemDescription在经过一个比赛的小插曲后,小A不仅得到主办方的赏识后,还捞到了一大笔钱。有了足够的钱后,他继续出发前往那个聚会城市。由于小A和小C每天都需要赶路,他们需要多买一些舒适的袜子。在离开这个城市前,他先逛了一家袜子批发商店,该商店将不同
傻子不会玩
·
2020-08-22 23:56
双指针
双指针
扫描
输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。Input输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。输入数据保证:分割得到
liuzhan214
·
2020-08-22 22:07
曾经水过的题
发现算法之美-
双指针
之对撞指针
什么是对撞指针?初识算法图对撞过程图JavaScript中的Array与对撞指针在js中,如何定义对撞指针?实现一个最简对撞指针leetcode对撞指针解法题目7.整数反转(easy)9.回文数(easy)27.移除元素(easy)125.验证回文串(easy)167.两数之II-输入有序数组(easy)190.颠倒二进制位(easy)344.反转字符串(easy)345.反转字符串中的元音字母(
趁你还年轻
·
2020-08-22 15:30
前端
javascript
算法
数据结构
双指针
4.1 python数据结构之串——概述和基本算法
通常,动态规划,
双指针
,回溯和栈是很重要的工具。串的存储结构
xutiantian1412
·
2020-08-22 15:59
Python数据结构与算法
python学习
python数据结构与算法
CSnotes-链表(1-10题)回顾
链表(1-10题)回顾10.链表元素按奇偶聚集(Medium)9.分隔链表(Medium)8.回文链表(Easy)7.链表求和5、1
双指针
的例子(fast与slow两个指针)1.找出两个链表的交点(easy
weixin_45142010
·
2020-08-22 14:28
数据结构
[LeetCode系列] 11.盛最多水的容器
上一篇文章向大家介绍了用于提高元素查找速率的
双指针
法,本文将再次利用
双指针
解决leetcoed问题,帮助大家更好地理解和巩固
双指针
用法,具体
双指针
法的讲解可移步[LeetCode系列]15.三数之和1.
Roger
·
2020-08-22 14:32
leetcode
c++
java
python
双指针
算法思想:
双指针
算法思想
双指针
其实是利用数组(或者求解问题)的有序特性,在遍历的过程中使用两个相同方向或者相反方向的指针进行扫描,从而达到目的的一种算法。
wsc543
·
2020-08-22 14:31
算法
双指针
leetcode踩坑记:长度最小的子数组
原题目:https://leetcode-cn.com/explo...正确方法一://
双指针
查找法 O(nlogn)(对数阶)var minSubArrayLen = function(s, nums
Jerry
·
2020-08-22 14:14
leetcode
双指针
数组
javascript
时间复杂度
剑指offer22-链表中倒数第K个节点
示例:给定一个链表:1->2->3->4->5,和k=2.返回链表4->5.解题思路:采用
双指针
的方法:首先,前向指针、后向指针都初始化为head节点,之后
陆云杰
·
2020-08-22 12:42
剑指offer
面试题
LeetCode
leetcode
链表
leetcode每日一题-移除元素
由题目可知的条件和限制:1.原地修改2.不能使用额外的数组空间,空间复杂度为O(1)3.元素的顺序可以改变主要思路:将不等于val的值往前放,元素交换位置~
双指针
fu
好好学习
·
2020-08-22 12:01
数组
leetcode
双指针
上一页
122
123
124
125
126
127
128
129
下一页
按字母分类:
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
其他