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-
剑指 Offer 52-两个链表的第一个公共节点
剑指Offer52.两个链表的第一个公共节点题目说明输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点c1开始相交。示例示例1:输入:intersectVal=8,listA=[4,1,8,4,5],listB=[5,0,1,8,4,5],skipA=2,skipB=3输出:Referenceofthenodewithvalue=8输入解释:相交节点的值为8(注意,如果两个列表相交则
LQZme
·
2024-01-04 23:35
LeetCode
剑指Offer
链表
【
LeetCode-
剑指offer】-- 23.相交链表
23.相交链表方法一:哈希集合/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(intx){*val=x;*next=null;*}*}*/publicclassSolution{publicListNodegetIntersectionNode(ListNodeheadA
小d<>
·
2024-01-04 23:04
#
剑指offer
leetcode
链表
算法
Leetcode 第 120 场双周赛 Problem C 统计移除递增子数组的数目 II(Java +
双指针
+ 前缀和)
题目统计移除递增子数组的数目II给你一个下标从0开始的正整数数组nums。如果nums的一个子数组满足:移除这个子数组后剩余元素严格递增,那么我们称这个子数组为移除递增子数组。比方说,[5,3,4,6,7]中的[3,4]是一个移除递增子数组,因为移除该子数组后,[5,3,4,6,7]变为[5,6,7],是严格递增的。请你返回nums中移除递增子数组的总数目。注意,剩余元素为空的数组也视为是递增的。
专注如一
·
2024-01-04 22:12
LeetCode
leetcode
java
双指针
Golang Leetcode19 删除链表的倒数第N个节点 递归
双指针
法+迭代
删除链表的倒数第N个节点leetcode19递归由于本体是倒数第几个节点,非常适合递归从终到始的运行方式funcremoveNthFromEnd(head*ListNode,nint)*ListNode{//创建一个虚拟头节点,简化边界条件处理dummy:=&ListNode{Next:head}//检查是否需要删除头节点//ifremove(dummy,n)==n{//returndummy.N
鳄梨阿龙
·
2024-01-04 21:34
golang
链表
开发语言
数据结构
leetcode
【PAT甲级】1173 How Many Ways to Buy a Piece of Land
问题思考:用
双指针
?不行,朝两个方向不太好控制。用纯递归?不行,因为板块要求连续,不能简单拆分成递归子问题。用动态规划?不行,还是那个问题,板块要求连续,不好推出状态转移方程。用搜索与回溯?
一碗姜汤
·
2024-01-04 21:04
PAT甲级
算法
深度优先
Leetcode 11. 盛最多水的容器 (详细解析加JAVA代码)
解题思路指针法:复杂度分析时间复杂度O(N):
双指针
遍历一次底边宽度NN。空间复杂度O(1):变量i,j,res使用常数额外空间。思路和算法一首先明确一下容器容量的计
听酱-
·
2024-01-04 19:48
JAVA
leetcode
leetcode
算法
数据结构
盛最多水的容器 (暴力遍历=>
双指针
)
题目描述给你n个非负整数a1,a2,…,an,每个数代表坐标中的一个点(i,ai)。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai)和(i,0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为2。解题思路一暴力法办法一很简单,双层循环计算出所有可能的结果,选出最大的。varmaxArea=function(height){letare
Eighteen Z
·
2024-01-04 19:18
算法
保智商
盛水最多的容器
leetcode11
双指针
盛最多水的容器 |
双指针
】
算法题算法刷题专栏|面试必备算法|面试高频算法越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨作者简介:硕风和炜,CSDN-Java领域新星创作者,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享恭喜你发现一枚宝藏博主,赶快收入囊中吧人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?算法题目录题目链接⛲题目描述求解思路
硕风和炜
·
2024-01-04 19:16
LeetCode每日一题打卡
面试必须掌握的101题
leetcode
算法
java
面试
双指针
LeetCode做题总结 15. 三数之和、18. 四数之和 (Java)
X数之和15.三数之和代码思路20240103重写错误1错误2Java语言点总结18.四数之和代码思路20240104(伪)错误1第一次剪枝错误2第二次剪枝错误3溢出15.三数之和代码思路思想:利用
双指针
法
aPurpleBerry
·
2024-01-04 19:04
LeetCode做题总结
leetcode
判断链表中是否有环
解法一:
双指针
通过定义slow和fast指针,slow每走一步,fast走两步,若是有环,则一定会在环的某个结点处相遇。funchasCycle(_head:ListNode?)
trimaximus
·
2024-01-04 15:21
《剑指offer》 链表第四题:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路:有两种方法,一种是非递归方法(
双指针
法),另一种是递归法。
y6533
·
2024-01-04 13:59
java
数据结构
链表
96
双指针
解旋转链表
示例1:输入1->2->3->4->5->6->null;k=2输出:5->6->1->2->3->4
双指针
求解:定义快慢两个指针,开始均指向起始节点,快指针先移动k次,随后快慢指针同时向前移动,直到快指针到达最后一个元素停止移动
布林组-?
·
2024-01-04 11:41
JAVA刷题500道
链表
数据结构
算法
java
(
双指针
子数组)剑指 Offer 48. 最长不含重复字符的子字符串
剑指Offer48.最长不含重复字符的子字符串classSolution{public:intlengthOfLongestSubstring(strings){intcnt[300];memset(cnt,0,sizeofcnt);intl=0,r=0,n=s.size(),mlen=0;while(r1){cnt[s[l]]--;l++;}mlen=max(mlen,r-l+1);r++;}r
来到了没有知识的荒原
·
2024-01-04 11:23
盛最多水的容器(力扣11题)
这其实是一个
双指针
问题。我们可以先固定第一个挡板(i)和最后一个挡板(j),height[0]=1,height[8]=7,看看盛水量。
丶lemon7
·
2024-01-04 11:39
leetcode
算法
职场和发展
Leetcode167 - 两数之和Ⅱ
例题:分析:因为数组已按非递减顺序排列,我们可以用
双指针
的思想,定义两个指针i,j,i指向数组中的第一个元素,j指向数组中的最后一个元素。把指针i,j所指向的两个元素相加和target比较。
丶lemon7
·
2024-01-04 11:38
数据结构
【
LeetCode-
剑指offer】-- 13.二维区域和检索-矩阵不可变
13.二维区域和检索-矩阵不可变方法:一维前缀和初始化时对矩阵的每一行计算前缀和,检索时对二维区域中的每一行计算子数组和,然后对每一行的子数组和计算总和。具体实现方面,创建m行n+1列的二维数组sums,其中m和n分别是矩阵matrix的行数和列数,sums[i]为matrix[i]的前缀和数组。将sums的列数设为n+1的目的是为了方便计算每一行的子数组和,不需要对col1=0的情况特殊处理。c
小d<>
·
2024-01-04 07:18
#
剑指offer
leetcode
算法
冲刺春招-精选笔面试 66 题大通关 day19
day19题目:160.相交链表、143.重排链表、142.环形链表II今日知识点:链表、递归、
双指针
,难度为简单、中等、中等学习计划链接:冲刺春招-精选笔面试66题大通关昨日题目链接:冲刺春招-精选笔面试
余cos
·
2024-01-04 07:32
leetcode
leetcode
面试
javascript
链表
专题一_
双指针
(一)
文章目录283.移动零题目解析讲解算法原理扩展编写代码1089.复习零题目解析讲解算法原理编写代码202.快乐数题目解析讲解算法原理证明编写代码11.盛最多水的容器题目解析讲解算法原理暴力解法优秀的解法时间复杂度分析编写代码283.移动零题目链接题目解析题目还是比较简单的.我们通过一个实例来看一下.讲解算法原理这道题,也就是移动零这道题可以归类到一类题里面.这类题可以叫做数组划分,也可以叫做数组分
多写才是解药
·
2024-01-04 06:01
刷穿LeetCode系列
c++
leetcode
算法
Leetcode-
递归
文章目录q21合并两个有序链表q101对称二叉树q104二叉树的最大深度q226翻转二叉树q236二叉树的最近公共祖先剑指Offer10-I.斐波那契数列剑指Offer10-II.青蛙跳台阶问题q21合并两个有序链表题目传送门题解可以使用递归和迭代两种方法进行求解,两种方法都比较简单。递归:funcmergeTwoLists(l1*ListNode,l2*ListNode)*ListNode{if
jenrain
·
2024-01-04 05:39
LeetCode
leetcode
每天一题
LeetCode-
Longest Substring Without Repeating Characters
Givenastring,findthelengthofthelongestsubstringwithoutrepeatingcharacters.Example1:Input:"abcabcbb"Output:3Explanation:Theansweris"abc",withthelengthof3.Example2:Input:"bbbbb"Output:1Explanation:Thean
autisticBoy
·
2024-01-04 03:56
【删除链表的倒数第N个结点】
Problem:19.删除链表的倒数第N个结点文章目录思路Code思路假设一共有M个结点移动到删除的结点需要M-N步结合链表特性,为了方便删除结点,应该移动M-N-1步采用
双指针
,fast先移动N步,slow
想成为樱木花道的宫城良田
·
2024-01-04 03:28
数据结构
链表
数据结构
每日一题——LeetCode977
nums.length)returnarr}while(arr.length){res.push(arr.shift())}returnres};消耗时间和内存情况:方法一优化版(O(n))两次遍历+
双指针
还是拆分
zbsnzj
·
2024-01-04 03:38
每日一题
算法
javascript
leetcode
【LeetCode刷题笔记】206. 反转链表:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
https://leetcode.cn/problems/reverse-linked-list/示例:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]方法一:
双指针
迭代代码示例:/*
️山鸟与鱼不同路️
·
2024-01-03 21:04
Leetcode刷题笔记
链表
leetcode
数据结构
leetcode-
我的日程安排表 II
实现一个MyCalendar类来存放你的日程安排。如果要添加的时间内不会导致三重预订时,则可以存储这个新的日程安排。MyCalendar有一个book(intstart,intend)方法。它意味着在start到end时间内增加一个日程安排,注意,这里的时间是半开区间,即[start,end),实数x的范围为,startcalendar;Listoverlaps;MyCalendarTwo(){c
程序员小2
·
2024-01-03 19:17
【
LeetCode-
剑指offer】--16.无重复字符的最长子串
16.无重复字符的最长子串方法:滑动窗口classSolution{publicintlengthOfLongestSubstring(Strings){intn=s.length();Setset=newHashSet<>();intl=0,ans=0;for(inti=0;i
小d<>
·
2024-01-03 18:36
#
剑指offer
leetcode
算法
【
LeetCode-
剑指offer】--15.找到字符串中所有字母异位词
15.找到字符串中所有字母异位词方法:滑动窗口classSolution{publicListfindAnagrams(Strings,Stringp){Listans=newArrayListm){returnans;}int[]cnt1=newint[26];int[]cnt2=newint[26];for(inti=0;i
小d<>
·
2024-01-03 18:06
#
剑指offer
leetcode
算法
【
LeetCode-
剑指offer】-- 14.字符串的排列
14.字符串的排列方法:滑动窗口classSolution{publicbooleancheckInclusion(Strings1,Strings2){intm=s1.length(),n=s2.length();if(m>n){returnfalse;}int[]cnt1=newint[26];int[]cnt2=newint[26];for(inti=0;i
小d<>
·
2024-01-03 18:05
#
剑指offer
leetcode
算法
【
LeetCode-
剑指offer】-- 9.乘积小于K的子数组
9.乘积小于K的子数组方法:滑动窗口关于为什么子数组数目为j-1+1。这时候就要理解采用滑动窗口的思路其实是枚举子数组的右端点,然后来找到满足条件的最小左端点。也即当得到满足条件的窗口时,就意味着得到了以j作为右端点时满足条件的左端点的最小值。那么此时满足条件的子数组个数当然就等于窗口能所有能作为左端点的位置个数,即j-i+1。classSolution{publicintnumSubarrayP
小d<>
·
2024-01-03 18:31
#
剑指offer
leetcode
算法
leetcode算法题--盛最多水的容器
原题链接:https://leetcode-cn.com/problems/container-with-most-water/
双指针
classSolution{public:intmaxArea(vector
bob62856
·
2024-01-03 17:01
Algorithm
leetcode
算法
容器
C++笔试: 最优算法实现 给定一个字符串,里面会有连续重复出现的字符,比如aabbbcdde,要求把连续重复的字符只保留一个,比如上面的字符串处理之后就变成了abcde。
要实现最优算法来去除连续重复的字符,可以使用
双指针
的方法进行原地修改,而不使用额外的字符串存储结果。
不爱学习的啊Biao
·
2024-01-03 17:41
C++面试宝典
c++
算法
JS
双指针
快速排序
快速排序是什么快速排序的本质思想是二分法,先找出一个基准值,经过一个遍历后,把比基准值小的数据放在左面,大的放在右面,再将分好的左面和右面的依次进行这种操作。时间复杂度因为是二分法,所以时间复杂度是OlognOlognOlogn,代表数据增大n倍,耗时增加OlognOlognOlogn倍。大OOO加上()的形式,里面包裹的是一个函数f(),O(f())O(f())O(f())代表某个算法的耗时或耗
子规~
·
2024-01-03 16:50
js排序
算法
二分法
快速排序
力扣11. 盛最多水的容器
双指针
法思路:将数组两端设置为left、right指针;则其围成的容器构成的面积area=min(height[left],height[right])*(right-left);(木桶短板理论)指针更新规则
slowfastflow
·
2024-01-03 15:09
力扣实践
leetcode
算法
职场和发展
力扣42. 接雨水
双指针
法思路:将数组前后设置为left、right指针,相互靠近;在逼近的过程中记录两端最大的值leftMax、rightMax,作为容器的左右边界;更新指针规则:如果数组左边的值比右边的小,则更新left
slowfastflow
·
2024-01-03 15:34
力扣实践
leetcode
数据结构
算法
算法通关村第三关[青铜挑战]-
双指针
思想及应用
算法通关村第三关[青铜挑战]-
双指针
思想及应用1.
双指针
思想2.删除元素专题2.1原地移除所有数值等于val的元素(LeetCode27)2.1.1快慢
双指针
2.1.2对撞
双指针
2.1.3对撞
双指针
+覆盖
若倾ღ
·
2024-01-03 10:27
算法通关村
算法
数据结构
图书整理 I (反转链表)(简)【栈、头插法(虚拟头结点)、
双指针
、递归】
本文是力扣LeeCode-LCR123.图书整理I(简)学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。书店店员有一张链表形式的书单,每个节点代表一本书,节点中的值表示书的编号。为更方便整理书架,店员需要将书单倒过来排列,就可以从最后一本书开始整理,逐一将书放回到书架上。请倒序返回这个书单链表。示例1:输入:head=[3,6,4,1]输出:[1,4,6,3]提示
666-LBJ-666
·
2024-01-03 10:55
#
每日一道LeeCode算法题
链表
算法
数据结构
leetcode
代码随想录day8 字符串,字符串!
示例1:输入:s=["h","e","l","l","o"]输出:["o","l","l","e","h"]思考这题主要难点是必须在原数组上修改,那么创建新数组的方法就不可用,所以第一反应就是用
双指针
从首尾
nahiyil
·
2024-01-03 10:22
算法
c++
LeetCode-
删除有序数组中的重复项问题
1.删除有序数组中的重复项(26)题目描述:给你一个非严格递增排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为k,你需要做以下事情确保你的题解可以被通过:更改数组nums,使nums的前k个元素包含唯一元素,并按照它们最初在nums中出现的顺序排列。nums的其
炙热的大叔
·
2024-01-03 08:35
leetcode
算法
LeetCode-
轮转数组的三种方法(189)
题目描述:给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。思路一:建立一个两倍原数组长度的数组,然后其中保存两遍原数组中的元素,轮转的过程就可以看成是在这个新数组中截取一个原数组长度的数组的过程,具体点说就是根据轮转关系从新数组中截取旧数组长度个数的元素并将这些元素保存到旧数组中。思路二:写一个逆置数组元素的函数来辅助轮转,首先整个数组进行逆置,然后前后两部分进行逆置,当
炙热的大叔
·
2024-01-03 08:59
leetcode
算法
数据结构
leetcode 76. 最小覆盖子串-java实现
题目所属分类滑动窗口算法属于
双指针
算法中的一个小范围和这道题类似leetcode30.串联所有单词的子串-java详细版本可以对比着看原题链接给你一个字符串s、一个字符串t。
依嘫_吃代码
·
2024-01-03 06:52
LeetCode
java
leetcode
算法
【
双指针
】167.两数之和II—有序数组
题目classSolution{publicint[]twoSum(int[]numbers,inttarget){int[]res=newint[]{-1,-1};intleft=0,right=numbers.length-1;while(left=left&&numbers[right-1]==numbers[right]){//--right;//}--right;}}returnres;
Allenlzcoder
·
2024-01-02 23:12
两数之和
LeetCode刷题笔记之
双指针
算法
一、数组相关操作1.27【移除元素】题目:给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。代码:classSolution{publicintremoveElement(int[]nums,intval){//快慢
abtgu
·
2024-01-02 19:00
课程复习
算法
leetcode
笔记
LeetCode刷题笔记之字符串
代码:classSolution{publicvoidreverseString(char[]s){//交换两个数:a^=b;b^=a;a^=b;//
双指针
法反转数组intle
abtgu
·
2024-01-02 18:58
课程复习
leetcode
笔记
算法
Golang leetcode206 翻转链表 迭代 递归
双指针
文章目录翻转链表leetcode206题解第一版直接建立新的链表
双指针
迭代递归法翻转链表leetcode206至此走到这里,我们对于链表的结构应当已经比较熟悉,下面的就是敢于操作题解第一版直接建立新的链表时间复杂度太高
鳄梨阿龙
·
2024-01-02 18:05
个人
leetcode学习
Golang
golang
链表
开发语言
数据结构
学习
codeforces 1669F
一道标准的
双指针
,我感觉我都可以开一个
双指针
的专题了…题目链接题意给定nnn个糖果,权值为a[i]a[i]a[i]到a[n]a[n]a[n],分别从左右两个方向累加,问两边权值相等的情况下,总共消耗糖果最多是多少思路就是开个头指针
qustflypiggy
·
2024-01-02 16:58
codeforces
板刷二分
rating
1200
算法
图论
【
leetcode-
数组】四数相加 II
【
leetcode-
数组】四数相加II题目:给定四个包含整数的数组列表A,B,C,D,计算有多少个元组(i,j,k,l),使得A[i]+B[j]+C[k]+D[l]=0。
程序员小2
·
2024-01-02 15:17
华为OD机试知识点1周速成版——如果考试时间只有1周,不妨看看这篇文章
文章目录基础语法知识栈与队列哈希表二分查找
双指针
贪心滑动窗口DFS/BFS动态规划前缀和位运算华为OD算法/大厂面试高频题算法练习冲刺训练距离机考时间还有一个月以上的同学可以忽略这篇内容,安安心心跟着正课从头到尾学习就可以了
闭着眼睛学算法
·
2024-01-02 11:02
最新华为OD真题
华为od
python
算法
c++
java
基础算法-归并排序
数组合并定义一个中间数组,通过
双指针
进行比较,假定指针1对应值小于指针2对应值,便将指针1对应值放入中间数组当中,指
爱编程的鱼
·
2024-01-02 07:23
C语言教程
C++
算法结构
算法
c++
数据结构
排序算法
开发语言
C语言
双指针
算法
双指针
,算法书上称为尺取法,用来解决序列的区间问题,操作简单,容易编程。如果区间是单调的,也常常可以用二分法求解,所以很多问题
双指针
和二分法都行。
双指针
的概念什么是
双指针
?为什么
双指针
能用来优化?
Valueyou24
·
2024-01-02 05:28
算法竞赛--初级
算法
Leetcode刷题——链表
Leetcode刷题-链表一、链表定义一、Leetcode题目1.移除链表元素2.反转链表
双指针
法3.两两交换链表中的节点4.删除链表的倒数第N个结点快慢指针法一、链表定义c++链表节点定义方式://单链表
江南汪
·
2024-01-02 03:51
刷题
链表
leetcode
数据结构
LeetCode——链表重复元素问题、重排链表
输入:head=[1,2,3,4]输出:[1,4,2,3]输入:head=[1,2,3,4,5]输出:[1,5,2,4,3](1)用
双指针
找到链表的中点(2)将后半部门利用链表反转,进行反转(3)然后将两个链表交替进行插入两个链表进行交替插入
yours_棒棒糖
·
2024-01-02 03:18
#
LeetCode
上一页
23
24
25
26
27
28
29
30
下一页
按字母分类:
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
其他