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-双指针
2021 CCCC天梯赛补题
第三,把过多时间精力消耗在Debug上,消磨了自己的心态和时间,比如L1-8这道题其实
双指针
就可以轻松解决的,我非耍小聪明整STL装逼
陈大维德
·
2021-04-27 00:08
算法笔记
算法
天梯赛
数据结构
leetcode-
最长回文子串
题目链接:题目传送门给定一个原始串,寻找当前串的最长回文子串,例如,存在字符串:str=“abba”,它的最长回文子串是:sub=“abba”对于回文子串,采用的方式一般两种,一种是dp,为什么能用dp呢,应为不难看出,每一步选择某个字符或者丢弃都会对最终的结果造成影响。扩散法,指的则是,先穷举字符串的每一个字符并以之为中心,然后如果最终的回文串有奇数个元素,则当前当前元素两侧的元素应该是相同的,
zzuli_xiaomingke
·
2021-04-26 20:55
leetcode
字符串
713. Subarray Product Less Than K
双指针
,滑动窗口数组长度nn=len(nums)p记录乘积p=1i为begin,窗口左端.j为end,窗口右端i=0j=0total记录符合条件subarray个数total=0whilej=k:p/=
xiaoyaook
·
2021-04-26 18:03
Python剑指offer打卡-3
方法2:
双指针
(
双指针
相差k,先前指针走完时,正好后指针到指定结点)former+
张先生-您好
·
2021-04-26 07:32
#
剑指offer
1.2 链表(5)(需要
双指针
解决纯链表问题)
目录(返回或删除)链表中倒数第k个结点(
双指针
)反转链表(
双指针
)两个链表的第一个公共结
coderjiege
·
2021-04-26 03:34
Java:
LeetCode-
两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。翻译了一下英文的简单的思路就是遍历两遍数组,找到两个值相加,很明显,这是n2的复杂度另外一个简单的思路就是用空间换时间,由于告诉你不会重复,不用set用hashmap就好了key为值,value为下标。时间复杂度O(N)。publicstaticint[]twonumadd(i
yesski
·
2021-04-25 10:05
算法小抄题目(按章节)
斐波那契数2.凑零钱:322.零钱兑换1.3回溯算法框架1.全排列:46.全排列2.N皇后:51.N皇后1.4BFS算法框架1.二叉树最小高度:111.二叉树的最小深度2.打开密码锁:752.打开转盘锁1.5
双指针
技巧框架快慢指针
upup果
·
2021-04-24 21:45
548. 两数组的交 II
计算两个数组的交注意事项:每个元素出现次数得和在数组里一样答案可以以任意顺序给出样例nums1=[1,2,2,1],nums2=[2,2],返回[2,2].排序+
双指针
和547相同,这里不过要求不去重,
和蔼的zhxing
·
2021-04-24 09:18
leetcode-
两数之和 python
#@lcapp=leetcode.cnid=1lang=python3#[1]两数之和#@lccode=startclassSolution:defbruteForcetwoSum(self,nums:List[int],target:int)->List[int]:"""暴力遍历法Timecomplexity:O(n^2)Spacecomplexity:O(1)"""fori_first,v_f
Johnson_Yep
·
2021-04-22 19:03
leetcode—8.同向
双指针
—滑动窗口题型python解答
文章目录引言1.固定窗口239.滑动窗口最大值2.可变窗口209.长度最小的子数组713.乘积小于K的子数组904.水果成篮引言 有些时候,我们需要获得数组或者字符串的连续子部分,这时候我们就可以考虑使用滑动窗口。nums[left,right]为滑动窗口,根据具体的要求,通过遍历的时候来改变left和right的位置,从而完成任务。滑动窗口主要处理连续问题,按类型主要有如下三种:固定窗口大小窗
哎呦-_-不错
·
2021-04-20 17:05
#
LeetCode刷题
滑动窗口
python
leetcode
固定窗口
可变窗口
Leetcode-125. 验证回文串
示例1:输入:"Aman,aplan,acanal:Panama"输出:true示例2:输入:"raceacar"输出:false解法:
双指针
法先将字符串转换为一个字符数组设置两个指针i,j分别指向数组的头和尾
小刘一定要努力
·
2021-04-20 06:38
三种方法判断回文链表(栈、反转、后序递归)
文章目录题目最简单的方法--用栈实现最野的方法--后序递归最实用的方法--反转后比较题目注意由于是单链表,无法双向遍历,所以无法直接用
双指针
,我们可以用找到中心点逆转后半部分,再利用
双指针
进行判断。
C_YCBX Py_YYDS
·
2021-04-19 12:27
LeetCode初级算法题
链表
指针
leetcode
数据结构
单链表
Leetcode-
托普利茨矩阵.766
766托普利茨矩阵题目描述:给你一个mxn的矩阵matrix。如果这个矩阵是托普利茨矩阵,返回true;否则,返回false。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是托普利茨矩阵。image.png解题思路:判断矩阵中当前元素和右下角元素是否相同。Java版:classSolution{publicbooleanisToeplitzMatrix(int[][]matrix
黄sir_
·
2021-04-19 11:52
LeetCode Top 100(一)
第二种方法:
双指针
。这种方法需要先对输入的数组进行排序(时间复杂度),以最基本的2sum问题为例,用首尾两个指针,首指针从头开始向后遍历,尾指针从尾部开始向前遍历。如果它们
oneoverzero
·
2021-04-18 03:50
蓝桥杯算法竞赛备考算法归纳总结
蓝桥备考基础算法归纳暴力、贪心递归、递推二分、快排深度优先搜索、广度优先搜索、回溯字符串处理
双指针
动态规划各类背包问题数论全排列、组合素数、最大公约数、最小公倍数、欧几里得gcd海伦公式、斐波那契、杨辉三角大整数图论
风落_
·
2021-04-17 23:48
蓝桥杯训练
算法
笔试编程题
两数之和(浦发)两数之和我们保证输出结果必然存在且唯一,数组索引从1开始只允许在solution方法内完成代码,不允许调用库函数,不允许在solution之外编写其他函数思路因为有序,
双指针
即可解决,注意溢出问题即可
明月本无心
·
2021-04-17 18:55
题海战术
c++
leetcode-
加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储一个数字。你可以假设除了整数0之外,这个整数不会以零开头。示例1:输入:[1,2,3]输出:[1,2,4]解释:输入数组表示数字123。示例2:输入:[4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字4321。代码/***@param{number[]}digits*@r
8239e604d437
·
2021-04-17 16:01
【LeetCode】 删除链表的倒数第 N 个节点
我们可以设想假设设定了
双指针
p和q,当q指向末尾的N
柴先森chai
·
2021-04-17 16:20
数据结构算法基础
外观数列LeetCode49字母异位词分组对字母排序LeetCode151翻转字符串里的单词LeetCode165比较版本号LeetCode5最长回文子串中心扩散法/动态规划LeetCodeLeetCode
双指针
算法滑动窗口
Anthons
·
2021-04-15 20:33
LeetCode-
两数之和
题目链接=>戳这里题目描述:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]解法1:暴力遍历classSolution{public
沙漠小舟
·
2021-04-15 00:44
第六章:
双指针
,BFS,和图论
目录1238.日志统计【
双指针
】1101.献给阿尔吉侬的花束【BFS】1113.红与黑【BFS】1096.地牢大师【BFS】1233.全球变暖【BFS】1238.日志统计【
双指针
】https://www.acwing.com
辉小歌
·
2021-04-14 18:51
Acwing蓝桥杯
算法
剑指Offer 58 - ii. 左旋转字符串
剑指Offer58-ii.左旋转字符串题目描述题解字符串复制法王道
双指针
切片函数运行结果题目描述字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。
呦,又写BUG呢
·
2021-04-14 10:45
LeetCode刷题总结
leetcode
算法
数据结构
移除元素27-力扣(数组-
双指针
-c)
题目:给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素示例1:输入:nums=[3,2,2,3],val=3输出:2,nums=[2,2]解释:函数应该返回新的长度2,并且nums中的前两个元素均为2。你不需要考虑数
馋学习的身子
·
2021-04-14 08:48
算法刷题
数组
c
双指针
LeetCode-
学会环形链表两题(详解)
目录前言一、环形链表题链接题目描述题目思路二、环形链表进阶题链接题目描述题目思路一思路二思路二相关链接总结前言这次题重在思路,请耐心看。一、环形链表题链接题目描述给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。
无聊的马岭头
·
2021-04-13 23:34
每日一题
链表
算法
算法刷题重温(十二): 回归基础数据结构之字符串(看字符串还能玩出啥花样)
字符串的相关题目动态规划那里也整理了一些,涉及到子序列的一些问题,那些在这里可能就不整理了,这里主要是查缺补漏的一些解题方法和有关字符串的其他题型,主要又梳理了三大题型,字符串的旋转与替换,字符串的匹配,字符串的覆盖,涉及到的解法
双指针
反转
Miracle8070
·
2021-04-10 17:06
算法刷题笔记
leetcode
算法刷题
字符串
【Leetcode】三道
双指针
链表题
1.返回倒数第K个结点题目描述题目链接:https://leetcode-cn.com/probl...实现一种算法,找出单向链表中倒数第k个节点。返回该节点的值。示例:输入:1->2->3->4->5和k=2输出:4快慢指针法链表经典题,快慢指针,只需一次遍历。时间复杂度O(n),空间复杂度O(1)intkthToLast(ListNode*head,intk){ListNode*fast=he
·
2021-04-09 00:32
算法c++
【Leetcode】三道
双指针
链表题
1.返回倒数第K个结点题目描述题目链接:https://leetcode-cn.com/probl...实现一种算法,找出单向链表中倒数第k个节点。返回该节点的值。示例:输入:1->2->3->4->5和k=2输出:4快慢指针法链表经典题,快慢指针,只需一次遍历。时间复杂度O(n),空间复杂度O(1)intkthToLast(ListNode*head,intk){ListNode*fast=he
·
2021-04-09 00:49
算法c++
快速排序
快速排序快速排序思想介绍Hoare法挖坑法
双指针
法快排的非递归实现(需要Stack的知识)快排的复杂度和稳定性如何解决快排的一些最坏情况本篇博客主要介绍以上内容。
programing菜鸟
·
2021-04-06 20:20
数据结构
算法
C++二叉搜索树转换成双向循环链表(
双指针
或数组)
本文解法基于性质:二叉搜索树的中序遍历为递增序列。将二叉搜索树转换成一个“排序的循环双向链表”,其中包含三个要素:1.排序链表:节点应从小到大排序,因此应使用中序遍历2.“从小到大”访问树的节点。双向链表:在构建相邻节点的引用关系时,设前驱节点pre和当前节点cur,不仅应构建pre.right=cur,也应构建cur.left=pre。3.循环链表:设链表头节点head和尾节点tail,则应构建
秦枫-_-
·
2021-04-04 23:29
数据结构
C++
list使用
链表
二叉树转循环链表
数据结构
c++
寻找中位数
给你两个有序的数组,求中位数
双指针
查找,每次把k减少一定的值,直到k=1,取两个指针的最小值。
无名之辈ZERO
·
2021-04-04 20:43
算法
LeetCode 刷题集 - 数组、链表、栈、队列(1)
队列:队列在线程池等有限资源池中的应用LeetCode题目:Array:1.移动零funcmoveZeroes(_nums:inout[Int]){varj=0foriin0..Int{//2.
双指针
Jacob6666
·
2021-04-02 00:20
两个链表的第一个公共结点(
双指针
法、异步走法 )
题目输入两个链表,找出它们的第一个公共结点。当不存在公共节点时,返回空节点。样例给出两个链表如下所示:A:a1→a2↘c1→c2→c3↗B:b1→b2→b3输出第一个公共节点c1方法一题解1.用两个指针p1,p2分别指向两个链表的头结点headA,headB,同时向后遍历。2.当其中一个指针到达该指针所指链表末尾(NULL)时,重新将这个指针定位到另一个链表的头结点。(两个指针交替进行一次同样的操
PingBryant
·
2021-03-23 01:34
刷题库
链表
c++
定位
双指针
-对撞指针
image.png对撞指针是指在有序数组中,将指向最左侧的索引定义为左指针(left),最右侧的定义为右指针(right),然后从两头向中间进行数组遍历对撞数组适用于有序数组,也就是说当你遇到题目给定有序数组时,应该第一时间想到用对撞指针解题举个LeetCode上的例子:leetCode-11Givennnon-negativeintegersa1,a2,...,an,whereeachrepre
松江野人
·
2021-03-13 16:17
Leetcode【392、870、881、1090】
双指针
i和j分别指向t和s,对于t的每一个位置遍历,如果t[i]和s[j]相同,那么j也想后移动找下一个相同的字符。当j达到s的长度,返回True,否则s不是t的子序列,返回False。
牛奶芝麻
·
2021-03-11 17:28
LeetCode-
数组-867.转置矩阵
题目描述给定一个二进制矩阵A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转[1,1,0]的结果是[0,1,1]。反转图片的意思是图片中的0全部被1替换,1全部被0替换。例如,反转[0,1,1]的结果是[1,0,0]。示例1输入:[[1,1,0],[1,0,1],[0,0,0]]输出:[[1,0,0],[0,1,0],[1,1,1]]
灶君司命
·
2021-02-26 08:53
Leetcode-
转置矩阵(867)
题目描述给你一个二维整数数组matrix,返回matrix的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。、示例1:输入:matrix=[[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例2:输入:matrix=[[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]解题思路该题比较简单其实就
莫陌莫墨
·
2021-02-25 10:17
算法刷题
算法
leetcode
数据结构
转置矩阵
Python
Leetcode-
Z 字形变换(6)
题目描述将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z字形排列。比如输入字符串为“PAYPALISHIRING”行数为3时,排列如下:PAHNAPLSIIGYIR之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:stringconvert(strings,intnumRows);
莫陌莫墨
·
2021-02-24 20:21
算法刷题
leetcode
字符串
算法
python
【C++】算法集锦(8):从两数和问题拓展到一百数和问题
如果看过上一篇,的上一篇的小伙伴应该很快就能想到用
双指针
吧(其实那篇我就想写这个了,但是想了想,还是憋住了)这里有两个地方要注意:1、数组要有序2、跳过同类项然后,就没什么难度了吧,我把伪代码写
看,未来
·
2021-02-23 15:44
#
算法集锦
算法
c++
leetcode
删除链表的倒数第 N 个结点
这是LeetCode第19题,刚好在看labuladong的算法书看到这个
双指针
的解法,非常巧妙。
追风骚年
·
2021-02-23 14:41
【C++】算法集锦(6):快慢指针
文章目录
双指针
解法快排链表成环判断链表是否有环寻找链表入环点合并K个有序链表(困难)思路:代码实现:寻找链表中的倒数第K个元素
双指针
解法这是我很喜欢的一个解法,从我第一眼看到它就很喜欢了。
看,未来
·
2021-02-22 19:45
#
算法集锦
指针
算法
上岸算法 I LeetCode Weekly Contest 229解题报告
No.1MergeStringsAlternately解题思路简单的
双指针
遍历合并字符串代码展示publicStringmergeAlternately(Stringword1,Stringword2)
上岸算法
·
2021-02-22 16:47
java基础面试题汇总A篇
3.递归实现字符串反转4.快速排序5.
双指针
法6.给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a+b+c=0?
竹杖青衫
·
2021-02-21 20:06
java基础
java
面试
Leetcode-
数组-5686. 移动所有球到每个盒子所需的最小操作数
题目5686.移动所有球到每个盒子所需的最小操作数:题解:1,对于位置i来说,要把它前面的向后挪,后面的向前挪,分别设置pre,last来表示这两个所需要的步骤其实pre[i][0]表示当前在其位置的小球个数,pre[i][1],表示所需要的步骤最终pre[i][1]+last[i][1]即i处总步骤classSolution{public:vectorminOperations(stringbo
失去斗志的菜鸟
·
2021-02-21 13:33
#
LeetCode
算法-
双指针
思想
leetcode125.验证回文串自己写的varisPalindrome=function(s){leti=0;letj=s.length-1;while(i='a'&&c='A'&&c='0'&&c='a'&&c='A'&&c='0'&&c<='9')}
·
2021-02-19 20:57
算法
python
双指针
法_leetcode 11 题解:python3@ 官方题解_暴力法_
双指针
法
leetcodeleetcode解题得的源码,解题思路在代码的注释里。给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai)。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai)和(i,0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。Brute-force/暴力法通过递归的思想来用暴力法遍历所有数据代码:##@lcapp=leetcode.cni
陈泓硕
·
2021-02-19 19:12
python
双指针法
力扣刷题笔记:滑动窗口法python模板写法(详细注释,广泛使用,秒杀滑窗题)
分享一个滑动窗口的模板,能解决大多数的滑动窗口问题:滑窗模板python代码:deffindSubArray(nums):N=len(nums)#数组/字符串长度left,right=0,0#
双指针
,表示当前遍
cv白嫖王
·
2021-02-19 13:53
刷题笔记
工具脚本
python
算法
数据结构第一板块:Array——leetcode 283
思想:除了用暴力法(发现一个0就计数,然后把后面所有的数前移一位,最后把0补齐),可以用
双指针
。
WX云飞
·
2021-02-18 15:23
算法与数据结构
数据结构
leetcode
算法
2、
双指针
算法学习及leetcode力扣网例题详解
双指针
文章目录
双指针
概述快慢指针左右指针滑动窗口法例题TwoSum输入输出样例题解代码实现归并两个有序数组输入输出样例题解代码实现快慢指针输入输出样例题解代码实现滑动窗口输入输出样例题解代码实现概述
双指针
是一种思想和技巧
阿涛的敲码时光
·
2021-02-17 16:58
数据结构与算法
指针
链表
字符串
算法
leetcode
LeetCode_206
想到的所有可能解法Ways_1——迭代法:
双指针
时间复杂度——O(n);空间复杂度——O(1);nextNode:用来转置链表中结点的ne
jacklovemonica
·
2021-02-17 14:03
LeetCode
算法
链表
数据结构
java
leetcode
力扣刷题笔记:167.两数之和 II - 输入有序数组(二分法+
双指针
法,
双指针
法更快,代码很好理解)
题目:167、两数之和II-输入有序数组给定一个已按照升序排列的整数数组numbers,请你从数组中找出两个数满足相加之和等于目标数target。函数应该以长度为2的整数数组的形式返回这两个数的下标值。numbers的下标从1开始计数,所以答案数组应当满足1List[int]:n=len(numbers)foriinrange(n-1):left,right=i+1,n-1#标准二分查找模板写法w
cv白嫖王
·
2021-02-16 17:01
刷题笔记
leetcode
python
上一页
110
111
112
113
114
115
116
117
下一页
按字母分类:
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
其他