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-双指针
移除元素(
双指针
法)
题目移除元素给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1:给定nums=[3,2,2,3],val=3,函数应该返回新的长度2,并且nums中的前两个元素均为2。你不需要考虑数组中超出新长度后面的元素。示
weixin_51146763
·
2023-01-26 20:26
#
双指针
#
数组
Leetcode刷题记录
数组
快慢指针法思想及其代码
双指针
法思想
双指针
法(快慢指针法):通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。
Yoga&&777
·
2023-01-26 19:43
数据结构
链表
快慢指针法、
双指针
法、滑动窗口法
一、快慢指针法:快慢指针法是一种十分常用的方法,其对于判断链表等是否具有无限循环的情况十分简单方便。例如:现具有一个1,2,3,4,5,1,2,3,4,5…的无限循环的链表情况(链表的尾5指向链表的头1的情况),可以定义一个快指针,一个慢指针,初始两个指针都指向第一个1,让慢指针每次向后移一个节点,让快指针每次后移两个节点,在不断循环中最终两个指针都会指向相同节点位置的1,即如果存在循环,最终快慢
&Carry
·
2023-01-26 19:12
c语言
大一从零开始的算法006---快慢指针最全例题详解
OfferII022eg3.寻找链表中的倒数第k个节点剑指Offer22eg4.删除链表的中间节点leetcode.2095eg5.判断链表是否相交并返回相交节点leetcode.160eg.5拾遗何为快慢指针快慢指针为
双指针
算法的一个具体范例
LXTTTTTTTT
·
2023-01-26 12:56
数据结构与算法
数据结构
链表
c语言
算法
字符串中不含有重复字符的最长子串
Input:'abcabcbb'Output:3Input:'au'Output:2Input:''Output:0Input:''Output:1思路:
双指针
varlengthOfLongestSubstring
RQrry
·
2023-01-26 12:16
力扣之回文数(
双指针
中的对撞指针公式模板)
什么
双指针
没刷算法之前,一听
双指针
,感觉很厉害的样子。实际上呢?也的确是一个不错的解题思路方式。
·
2023-01-26 11:27
leetcode双指针
python数据结构&算法个人学习笔记
2.排序冒泡排序:选择排序快速排序——
双指针
排序3.贪心算法:最优问题背包问题数字拼接问题活动选择问题4.动态规划:自问题的重复计算钢条切割问题:最长公共子序列:递归两个特点:调用自身;结束条件e.g:
Lydia离线
·
2023-01-26 06:27
数据结构
算法
python
python数据结构与算法学习路线
个更新进度:■■■■■■■■■■□□□□□□□□□□|50%目前在更新:排序算法剑指offer链接:点击跳转leetcode题目分类:点击跳转学习内容:基本算法:枚举、排序、搜索、递归、分治、优先搜索、贪心、
双指针
浪里摸鱼
·
2023-01-26 05:21
python
python
数据结构
算法
人工智能
力扣学习计划——数据结构与算法基础笔记
数据结构数组题目:136.只出现一次的数字题目:169.多数元素题目:15.三数之和(难点)这个方法就是我们常说的「
双指针
」,当我们需要枚举数组中的两个元素时,如果我们发现随着第一个元素的递增,第二个元素是递减的
masteryi-0018
·
2023-01-26 05:14
数据结构
python
算法
leetcode
移除数组中的元素
移除数组中的元素,
双指针
算法,利用元数组元素覆盖的方式,利用指针移动到指定的元素,即可一次便利实现vara=[1,2,3,4,5]vart=3varremove=(nums,t)=>{for(varf=
·
2023-01-26 00:19
算法双指针前端后端
数组-
双指针
算法(移除元素)
Two-pointers
双指针
算法(移除元素类型)leetcode.27链接https://leetcode.cn/problems/...解题方法:用len指针指向新数组下标i指针从前往后遍历原数组如果
·
2023-01-26 00:18
字符串
反转字符串leetcode.344链接https://leetcode.cn/problems/...解题方法:
双指针
l,r指针分别放在字符串的首尾两端,每次交换两个字符每交换一次指针向中间移动一位leetcode
·
2023-01-26 00:18
力扣之x的平方根(
双指针
解法思路分析优化)
题目描述给你一个非负整数x,计算并返回x的算术平方根。由于返回类型是整数,结果只保留整数部分,小数部分将被舍去。注意:不允许使用任何内置指数函数和算符,例如pow(x,0.5)或者x**0.5。示例1:输入:x=4输出:2示例2:输入:x=8输出:2解释:8的算术平方根是2.82842...,由于返回类型是整数,小数部分将被舍去。提示:0x){//若大于超过了right=right-1//那就减小
·
2023-01-26 00:47
力扣之反转字符串之原地修改输入数组(
双指针
方式)
题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。示例1:输入:s=["h","e","l","l","o"]输出:["o","l","l","e","h"]示例2:输入:s=["H","a","n","n","a","h"]输出:["h","a","n","n","a
·
2023-01-25 17:10
leetcode双指针
严蔚敏《数据结构》 快速排序&堆排序
快速排序具体的算法思想是在待排序的序列中任选一个数作为枢轴值(pivotkey),用
双指针
一个指向表的第一个值(low=1),另一个指向最后一个值(high=L.length)。
曦文znhy
·
2023-01-23 07:42
数据结构
排序算法
算法
88. 合并两个有序数组
文章目录1.题目2.示例3.答案①
双指针
②直接合并后排序1.题目给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。
rena11
·
2023-01-23 07:14
leetcode算法题训练
算法
数据结构
数据结构与算法笔记
0核心框架汇总框架思维数据结构的存储方式只有两种:数组(顺序存储)和链表(链式存储)算法数学中的算法重在推导,计算机中的算法重在穷举计算机算法的本质特点:穷举穷举有两个关键难点:无遗漏、无冗余算法技巧
双指针
解决单链表问题
AugustRed
·
2023-01-21 23:13
链表
数据结构
算法
【acwing】905. 区间选点*(贪心)
类似
双指针
的思想,来进行优化#include#definexfirst#defineysecondusingnamespacestd;typedefpairpii;constintN=1e5+10;piia
percation
·
2023-01-21 16:24
acwing
c++
贪心
数组、链表、哈希表(数据结构)-代码随想录
在排序数组中,常用到二分查找的方法;移除元素时需要覆盖掉原来的元素;使用
双指针
进行问题的解决(有序数组的平方、长度最小的子数组)滑动窗口;数组中数学逻辑的模拟很重要(螺旋数组Ⅱ);注意一个重要的概念:循环不变量
烟白
·
2023-01-20 14:33
数据结构
leetcode
算法
双指针
合集
87合并两个有序的数组importjava.util.*;publicclassSolution{publicvoidmerge(intA[],intm,intB[],intn){inti=m-1;intj=n-1;for(intk=n+m-1;k>=0;k--){if(jB[j])A[k]=A[i--];elseA[k]=B[j--];}}}88判断是否是回文串importjava.util.*
Sophia2333333331
·
2023-01-20 09:15
牛客
leetcode
leetcode
算法
java
LeetCode-
子数组的最小值之和
给定一个整数数组arr,找到min(b)的总和,其中b的范围为arr的每个(连续)子数组。由于答案可能很大,因此返回答案模10^9+7。实例1输入:arr=[3,1,2,4]输出:17解释:子数组为[3],[1],[2],[4],[3,1],[1,2],[2,4],[3,1,2],[1,2,4],[3,1,2,4]。最小值为3,1,2,4,1,1,2,1,1,1,和为17。示例2输入:arr=[1
HuyCui
·
2023-01-19 21:38
LeetCode
leetcode
算法
职场和发展
LeetCode-
只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。你可以不使用额外空间来实现吗?输入:[2,2,1]输出:1输入:[4,1,2,1,2]输出:4本题如果采用常规的方法做是比较简单的,比如可以遍历一遍数组,将数据保存到hashmap中,记录每个数据出现的次数,采用这种方法的时间复杂度和空间复杂度都为O(n)。p
HuyCui
·
2023-01-19 21:38
LeetCode
leetcode
算法
数据结构
LeetCode-
两数之和
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。示例2:输入:num
HuyCui
·
2023-01-19 21:08
LeetCode
leetcode
算法
java
【综合笔试题】难度 2/5,简单且经典面试题
Tag:「红黑树」、「哈希表」、「排序」、「
双指针
」、「贪心」给定两个大小相等的数组nums1和nums2,nums1相对于nums的优势可以用满足nums1[i]>nums2[i]的索引i的数目来描述
·
2023-01-17 10:29
后端
Day2
Day2977.有序数组的平方题目建议:本题关键在于理解
双指针
思想暴力解法:先平方,后排序。
·
2023-01-17 10:25
leetcodec++算法
【华为OD机试真题2023 JAVA】天然蓄水库
华为OD机试真题,2023年度机试题库全覆盖,刷题指南点这里天然蓄水库知识点
双指针
时间限制:1s空间限制:256MB限定语言:不限题目描述:描述:公元2919年,人类终于发现了一颗宜居星球——X星。
若博豆
·
2023-01-17 01:37
算法
华为
java
链表热门面试题(二)
两两交换链表中的节点三、旋转链表四、删除排序链表中的重复元素五、删除排序链表中的重复元素II六、反转链表II七、删除链表中的节点八、奇偶链表前言一、删除链表的倒数第N个结点题目:方法1:找到删除的结点(
双指针
法
楠鹤晴
·
2023-01-14 06:01
链表
数据结构
链表常见OJ题汇总(持续更新)
目录前言一、移除链表中的元素(多指针法)二、反转链表(多指针法&头插法)三、链表的中间结点(算数法和
双指针
法)四、链表中的第K个结点(算数法&
双指针
法)五、合并两个有序链表(尾插法)六、链表分割(尾插法
楠鹤晴
·
2023-01-14 06:31
STL
链表
数据结构
算法
5.26力扣 字符串处理
双指针
146.LRU缓存机制我们用一个哈希表和一个双向链表维护所有在缓存中的键值对我们首先使用哈希表进行定位,找出缓存项在双向链表中的位置,随后将其移动到双向链表的头部,即可在O(1)的时间内完成get或者put操作。在双向链表的实现中,使用一个伪头部(dummyhead)和伪尾部(dummytail)标记界限,这样在添加节点和删除节点的时候就不需要检查相邻的节点是否存在。每次添加新节点都将节点添加到头
咩桃
·
2023-01-12 18:55
力扣
指针
字符串
python
替换字符串中的括号内容【python3
双指针
+哈希表】实现过程分析以及思路整理
题目给你一个字符串s,它包含一些括号对,每个括号中包含一个非空的键。比方说,字符串"(name)is(age)yearsold"中,有两个括号对,分别包含键"name"和"age"。你知道许多键对应的值,这些关系由二维字符串数组knowledge表示,其中knowledge[i]=[keyi,valuei],表示键keyi对应的值为valuei。你需要替换所有的括号对。当你替换一个括号对,且它包含
进阶白帽子
·
2023-01-12 18:56
算法学习笔记
leetcode
散列表
算法
day6-数组练习题力扣27
思路:1.还是数组元素置换问题,用到
双指针
算法2.头尾分别放指针i和j,i一直走找到val停下,j一直走直到不是val停下,交换3.一直走直到终止条件i>=j4.如果i=j终止,若i=j=val,返回长度
樊坤志
·
2023-01-12 17:32
leetcode
算法
职场和发展
python
北大硕士LeetCode算法专题课-数组相关问题
骨灰级收藏家的博客-CSDN博客北大硕士LeetCode算法专题课-基础算法之排序_骨灰级收藏家的博客-CSDN博客北大硕士LeetCode算法专题课-基础算法查找_骨灰级收藏家的博客-CSDN博客数组相关问题
双指针
说明
骨灰级收藏家
·
2023-01-10 21:08
python
算法
面试
算法
leetcode
职场和发展
数组
代码随想录算法训练营第二天 |题977 题209 题59
1.
双指针
法leetcode题977给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。1.1暴力解法:先求出数组所有值的平方,然后再排序。
ylRui
·
2023-01-10 03:01
leetcode
用javascript分类刷leetcode7.
双指针
(图文视频讲解)
双指针
普通指针:两指针同一方向或不同方向对撞指针:两指针互相靠拢快慢指针:一快一慢141.环形链表(easy)给你一个链表的头节点head,判断链表中是否有环。
·
2023-01-09 10:53
JavaScript刷LeetCode拿offer-
双指针
技巧(上)
:例如:找到两个数使得它们相加之和等于目标数,采用单指针处理,则需要嵌套循环,使得时间复杂度增长为O(n^2);再例如:翻转数组,采用单指针处理,则需要额外内存空间,使得空间复杂度增长为O(n);利用
双指针
技巧
·
2023-01-09 10:50
纯C手撕
leetcode-
基本数据结构-二叉堆
二叉堆基本操作使用数组A[1...n],可近视看作一个完全二叉树。树中每个node对应数组的一个元素树的每一层(除了最后一层尽可能)都从左到右依次填满;image.png每个节点的父子节点的索引/**数组从索引从1开始*/PARENT(i)returni/2;LEFT(i)return2i;RIGHT(i)return2i+1;/**数组从索引从0开始*/PARENT(i)return(i-1)/
1哥
·
2023-01-09 00:33
Leetcode第一周练习总结(1.1~1.7)
文章目录系列:周练语言:java题目:leetcode121leetcode20leetcode15leetcode53leetcode49考点:暴力法&&贪心算法&&栈方法&&哈希表&&
双指针
思路和参考答案文章目录前言题目
热爱编程狂
·
2023-01-08 13:08
算法提炼
leetcode
贪心算法
算法
数据结构
java
算法刷题打卡第55天:移动零
示例1:输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0]示例2:输入:nums=[0]输出:[0]
双指针
思路:使用
双指针
,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部
夏秃然
·
2023-01-08 13:05
躺平合集
算法
leetcode
双指针
单调栈、单调队列、
双指针
(线性复杂度优化)
单调栈单调栈(模板)给定一个序列aaa,对于aaa中的每个数找到在他左(右)边,最近的比他大(小)的数是什么。例:对于aaa中的每个数找到他左边最近的比他小的数是什么,没有输出-1534275ans=-13-122栈内一开始放入负无穷,对每个a[i]a[i]a[i]和栈顶元素判断就行,如果a[i]a[i]a[i]更小,那么栈顶元素就不是比$a[i]$小的元素,不断弹栈,直到不能弹完为止。解释单调栈
lovesickman
·
2023-01-08 12:10
#
单调栈与单调队列
算法
数据结构
c++
爬楼梯(递归、动态规划、矩阵)
LeetCode-
爬楼梯目录
LeetCode-
爬楼梯做法一:递归做法二:动态规划做法三:通项公式矩阵形式做法一:递归//leetcode爬楼梯//做法一:递归分析可知,答案满足斐波那契数列的规律intsolution
yonuyeung
·
2023-01-07 18:39
总结
动态规划
算法
c语言
算法学习总结
一些常见算法介绍快慢指针前缀和差分
双指针
扫描单调栈滑动窗口LRU算法分治算法记忆化搜索二分二分答案排序贪心动态规划图论相关算法求最短路径Bellman-FordDijkstraFloyd求最小生成树Kruskal
青禾qingh
·
2023-01-07 12:01
算法
数据结构
链表
算法
图论
动态规划
代码随想录算法训练营第二天| 977.有序数组的平方 、 209.长度最小的子数组、59.螺旋矩阵II
Leetcode-977这题需要的时间复杂度是0(n)因此不能按照先平方再排序的暴力解法做,对于O(n)的题,要么二分要么
双指针
。
DeepMaster
·
2023-01-07 07:15
算法
python
前端leetcde算法面试套路之
双指针
前言上一part刚写完二分和滑窗,他们都属于特殊的
双指针
方法,所以这一part直接汇总一下除了特殊的二分和滑窗外的其他
双指针
写法这里主要是快慢指针和端点指针,解决一些一次遍历搞不掂,多个指针协商干活不累的题目
·
2023-01-06 08:17
JavaScript刷
LeetCode-
字符串类解题技巧
序章我们把字符串、数组、正则、排序、递归归为简单算法。接下来系列里,将系列文章里将为大家逐一介绍。字符串翻转字符串中的单词给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例1:输入:"Let'stakeLeetCodecontest"输出:"s'teLekatedoCteeLtsetnoc"注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外
·
2023-01-06 08:16
一文总结Leedcode数组常考题目
文章目录前言一、数组性质二、数组题目的基本形式1.二分法的两种写法2.
双指针
3.滑动窗口4.模拟行为总结前言Hi,小伙伴们大家好,我是哈尔滨工业大学机器人重点实验室的小李,主要研究方向是视觉算法。
就叫李同学吧
·
2023-01-05 05:24
数据结构与算法
算法
python
leetcode
数据结构
11.20 至 11.27 五道典型题记录: 贪心 | 应用题 | 脑筋急转弯 | 区间问题 |
双指针
11.20至11.27五道典型题记录:贪心|应用题|脑筋急转弯|区间问题|
双指针
松懈了最近,要时刻保持警醒啊!
汤姆和佩琦
·
2023-01-04 23:38
LC分类题型汇总
python算法学习
算法
leetcode
python
贪心
应用题
代码随想录算法训练营第二十一天|530.二叉搜索树的最小绝对差, 501.二叉搜索树中的众数,236. 二叉树的最近公共祖先
2.
双指针
(如果看见需要【比较两个相邻值】):用一个prev节点记录一下root节点(即当前节点)的前一个节点。先在方法外设置:TreeNode*prev=nullptr。
侠客行kkkk
·
2023-01-04 09:49
算法
leetcode
职场和发展
数据结构
c++
Leetcode-
第782题-困难-《变为棋盘》
题目题目链接一个n×nn\timesnn×n的二维网络boardboardboard仅由000和111组成。每次移动,你能任意交换两列或是两行的位置。返回将这个矩阵变为“棋盘”所需的最小移动次数。如果不存在可行的变换,输出-1。示例1:输入:board=[[0,1,1,0],[0,1,1,0],[1,0,0,1],[1,0,0,1]]输出:2解释:一种可行的变换方式如下,从左到右:第一次移动交换了
快乐活在当下
·
2023-01-03 20:05
leetcode刷题
leetcode
算法
职场和发展
代码随想录——数组
目录一、LeetCode704二分查找题目思路代码实现1.暴力求解2.二分查找二、LeetCode27移除数组元素题目思路代码实现1.暴力解法2.
双指针
解法一、LeetCode704二分查找题目思路1.
蛋黄液
·
2023-01-03 11:02
leetcode
排序算法
算法
用javascript分类刷leetcode7.
双指针
(图文视频讲解)
双指针
普通指针:两指针同一方向或不同方向对撞指针:两指针互相靠拢快慢指针:一快一慢141.环形链表(easy)给你一个链表的头节点head,判断链表中是否有环。
·
2023-01-02 13:08
上一页
96
97
98
99
100
101
102
103
下一页
按字母分类:
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
其他