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
#双指针
数据结构每日一题day1
要求算法空间复杂度为O(1)算法思想:采用
双指针
法。通过交换首尾对应位置的元素实现逆置,具体步骤如下:初始化指针:用两个下标分别指向顺序表的首元素(下标0)和末元素(下标length-1)。
Phoebe鑫
·
2025-03-25 07:06
数据结构
算法-
双指针
、BFS与图论-1101. 献给阿尔吉侬的花束
题目思路BFS可以搜环,有环也没有关系,如果有解:一定可以找到一条最小步数的合法的路径Python中collections模块的详细用法介绍_pythoncollections-CSDN博客引用自上述文章:append(x):添加x到右端。appendleft(x):添加x到左端。clear():移除所有元素,使其长度为0.copy():创建一份浅拷贝。3.5新版功能.count(x):计算deq
哆啦A梦阳
·
2025-03-25 02:56
算法设计与分析
宽度优先
图论
算法
LeetCode 27:移除元素
LeetCode27:移除元素解答:
双指针
解法一:快慢指针在最坏情况下(输入数组中没有元素等于val),左右指针各遍历了数组一次。但不会改变相对位置。
风zx
·
2025-03-25 01:51
LeetCode
leetcode
Leetcode 27:移除元素
方法一:
双指针
,快指针遍历数组搜索保留值,慢指针指向下一个值的保存位置,最后返回慢指针索引即为最后数组长度。
Lance Jay
·
2025-03-25 01:19
Leetcode刷题
leetcode
算法
职场和发展
LeetCode(27):移除元素
//
双指针
法***#includeintremove(int*nums,intlength,intval){intslow=0;for(intf
慕洋男孩
·
2025-03-25 01:46
LeetCode经典题
leetcode
c语言
leetcode_
双指针
557. 反转字符串中的单词 III
557.反转字符串中的单词III给定一个字符串s,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。思路:1.首先用split()切割字符串中用空格分隔的单词2.用切片法反转每个单词3.用join()把反转后的单词用空格连接classSolution(object):defreverseWords(self,s):""":types:str:rtype:str"""#使用spl
MiyamiKK57
·
2025-03-24 15:30
leetcode
算法
职场和发展
双指针
与二分算法
一.
双指针
1.基本介绍
双指针
算法是一种暴力枚举的优化算法,他也被叫做尺取法或者滑动窗口。当我们发现算法需要两次for循环时并且两个指针可以不回退,我们可以利用
双指针
来优化算法复杂度。
打不了嗝
·
2025-03-24 15:58
蓝桥杯
c++
算法
优选算法训练篇07--力扣LCR179.查找总价格为目标值的两个商品
目录1.题目链接:LCR179.查找总价格为目标值的两个商品2.题目描述:3.解法一(暴力解法,会超时):4.解法二(
双指针
-对撞指针):1.题目链接:LCR179.查找总价格为目标值的两个商品2.题目描述
大胆飞猪
·
2025-03-24 15:28
算法训练篇
算法
leetcode
【C/C++】在排序数组中查找元素的第一个和最后一个位置(leetcode T34)
核心考点:法一
双指针
法;法二二分查找法题目描述:给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。
勇士小蓝0727
·
2025-03-24 09:07
c语言
c++
leetcode
开发语言
算法
数据结构
蓝桥杯
Linux内核中的数据结构与算法(三)哈希链表
Linux链表认为
双指针
表头双循环链表对于HASH表来说过于浪费,因而设计了一套用于HASH表的hlist的数据结构,单指针表头双循环链表。hlish表头仅有一个指向首节点的
木木0o0欧尼
·
2025-03-24 04:22
Linux
链表
数据结构
linux
算法及数据结构系列 - 滑动窗口
系列文章目录算法及数据结构系列-二分查找算法及数据结构系列-BFS算法算法及数据结构系列-动态规划算法及数据结构系列-
双指针
算法及数据结构系列-回溯算法算法及数据结构系列-树文章目录滑动窗口框架思路经典题型
诺亚凹凸曼
·
2025-03-23 15:33
算法及数据结构
算法
数据结构
java
(相交链表) Python
双指针
(相交链表)Python
双指针
原题地址:https://leetcode.com/problems/intersection-of-two-linked-lists/Giventheheadsoftwosinglylinked-listsheadAandheadB
小杨快没头发了
·
2025-03-23 11:04
Leetcode
刷题
华为OD机试 - 输出单向链表中倒数第k个结点 -
双指针
(Python/JS/C/C++ 2024 B卷 100分)
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结
哪 吒
·
2025-03-22 21:03
华为od
链表
python
C语言复习笔记5---数组
数组考点排序冒泡排序O(n^2)选择排序O(n^2)(插入排序)分离每一位正序逆序哈希(hash)→用值直接作为下标日期处理问题数组的基本操作插入和删除逆序(移位)7-19田忌赛马(
双指针
)二维数组→矩阵矩阵转置判断对称矩阵矩阵运算矩阵移位杨辉三角
.又是新的一天.
·
2025-03-22 08:42
C语言复习笔记
c语言
算法
c++
双指针
之滑动窗口
滑动窗口是
双指针
的一种所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。
旧念25
·
2025-03-21 13:29
算法
数据结构
华为OD机试九日集训第2期 - 按算法分类,由易到难,循序渐进,提升编程能力和解题技巧,从而提高机试通过率
目录一、适合人群二、本期训练时间三、如何参加四、数据结构与算法大纲五、华为OD九日集训第1期第1天、逻辑分析第2天、队列第3天、
双指针
第4天栈第5天滑动窗口第6天、二叉树第7天、并查集第8天、矩阵第9天
哪 吒
·
2025-03-21 02:48
搬砖工逆袭Java架构师
华为od
算法
九日集训
Java
3.14学习总结
今天完成了几道关于二叉树的算法题关于二叉树的最小最大深度和数据流中的第k大元素,用到优先队列,学习了有关java的基础知识,学习了
双指针
法。
2402_88131930
·
2025-03-19 12:08
学习
刷算法Leetcode---4(字符串篇)
前言本文是根据代码随想录中的字符串顺序进行编写,只刷了里面力扣的题代码随想录其他文章链接:刷算法Leetcode文章汇总字符串篇344.反转字符串①
双指针
,前后交换②for循环,s[i]=s[n-i-1
搞笑症患者
·
2025-03-19 06:14
力扣刷算法
leetcode
算法
蓝桥杯Python赛道备赛——Day1:基础算法
本博客就蓝桥杯中的基础算法(这一部分说是算法,但更是一些简单的操作)进行罗列,包括:枚举、模拟、前缀和、差分、二分查找、进制转换、贪心、位运算和
双指针
。
SKY YEAM
·
2025-03-19 04:26
蓝桥杯备赛
蓝桥杯
python
算法
使字符串平衡的最小交换次数(贪心、
双指针
)
题目:1963.使字符串平衡的最小交换次数方法一:对于符合要求的字符串,需要任何[0,i]部分,“[”都不比“]”少。[视为+1,]视为-1,那么任何前缀和sum都不能出现sum0){sum--;}else{while(s[j]!='['){j--;}s[j]=']';sum++;ans++;}}}returnans;}};JAVA版本:classSolution{publicintminSwap
岁忧
·
2025-03-19 01:32
java版刷题
LeetCode
leetcode
算法
职场和发展
java
c++
笔记:代码随想录算法训练营day55:LeetCode42. 接雨水、84.柱状图中最大的矩形
学习资料:代码随想录42.接雨水力扣题目链接暴力解法超时了,直接从
双指针
开始双指大概思路为创立两个数组记录两侧的最大值,这里的最大值是真正的最大的值,而不是最近的那个比较大的值,即所谓的按列计算,后面单调栈方法找到的是上一个较大值和下一个较大值
jingjingjing1111
·
2025-03-18 10:38
算法
双指针
算法
双指针
算法是一种通过使用两个指针(索引或引用)在数据结构中有序移动来高效解决问题的技巧。它常用于数组、链表等线性结构的问题,能显著优化时间和空间复杂度。
六七_Shmily
·
2025-03-17 00:10
数据结构与算法分析
算法
华为OD机试 - 磁盘容量排序 -
双指针
(Python/JS/C/C++ 2023 B卷 100分)
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述磁盘的容量单位常用的有M,G,T这三个等级,它们之间的换算关系为
哪 吒
·
2025-03-16 09:19
华为od
python
javascript
DAY01 二分查找 与
双指针
704.二分查找-力扣(LeetCode)需要注意两种边界情况下代码细节的处理,在【】区间下,右指针的最大值是有意义的,所以right=nums.size()-1,left&nums,inttarget){intleft=0;intright=nums.size()-1;//[1,right]while(lefttarget){right=middle-1;}elseif(nums[middle]
Useee
·
2025-03-15 07:02
算法
leetcode
数据结构
LeetCode面试经典150最优答案汇总
字符串88.合并两个有序数组27.移除元素26.删除有序数组中的重复项80.删除有序数组中的重复项II169.多数元素189.轮转数组121122554527423813413125814151628
双指针
醒了就刷牙
·
2025-03-14 12:52
LeetCode刷题
leetcode
面试
算法
搞定leetcode面试经典150题之
双指针
系列博客目录文章目录系列博客目录理论知识例题125.验证回文串392.判断子序列167.两数之和Ⅱ-输入有序数组283.移动零简单非面试经典150题11.盛最多水的容器中等15.三数之和中等很多内容借鉴B站蜜糖,他讲的很好理论知识
双指针
虽然是直接用它的理论知识来命名
醒了就刷牙
·
2025-03-14 12:22
LeetCode刷题
leetcode
面试
算法
java
搞定leetcode面试经典150题之哈希算法
系列博客目录搞定leetcode面试经典150题之哈希算法搞定leetcode面试经典150题之
双指针
搞定leetcode面试经典150题之滑动窗口文章目录系列博客目录理论知识1.哈希函数(HashFunction
醒了就刷牙
·
2025-03-14 12:51
LeetCode刷题
哈希算法
leetcode
面试
算法
代码随想录训练营Day2|力扣977有序数组的平方、209长度最小的子数组、59螺旋矩阵
-力扣(LeetCode)文章讲解:代码随想录视频讲解:
双指针
法经典题目|LeetCode:977.有序数组的平方_哔哩哔哩_bilibili
双指针
法:代码:classSolution{public:vectorsortedSquares
好名字可以让你的朋友更容易记住你498
·
2025-03-14 07:43
一刷代码随想录
leetcode
矩阵
算法
c++
C中如何实现字符串反转功能?
在C语言中实现字符串反转功能有多种方法,包括使用循环和指针交换字符位置、递归方法、
双指针
法等。下面将详细介绍这些方法,并给出具体的示例代码。
计算机学长大白
·
2025-03-14 02:36
C
c语言
开发语言
算法练习——
双指针
算法(更新中)
一、介绍
双指针
算法
双指针
(或称为双索引)算法是一种高效的算法技巧,常用于处理数组或链表等线性数据结构。它通过使用两个指针来遍历数据,从而减少时间复杂度,避免使用嵌套循环。
*TQK*
·
2025-03-13 04:56
算法练习
c++
学习
算法
双指针
python-leetcode-删掉一个元素以后全为 1 的最长子数组
解题思路使用
双指针
(滑动窗口),维护窗口内最多包含一个0。当窗口内的0超过1个时,移动左指针left直到窗口内0的数量恢复为1。记录窗口的最大长度,最终返回maxLen-1,因为必须删除一个元
Joyner2018
·
2025-03-12 00:09
leetcode
算法
职场和发展
leetcode 15.三数之和-详细注释(哈希法,
双指针
法)
15.三数之和-力扣(LeetCode)给定一个数组=[a,b,c,d,e,...],找到满足a+b+c=0的三元组{a,b,c}。首先明确遇到一道编程题的解题思路。1.首先思考暴力解法-也就是遍历所有组合,找出符合条件的组合形成答案。很容易想到使用三个循环,列举出所有的3个数的组合。首先固定第一个数,然后从第一个数后面固定第二个数,再从第二个数之后固定第三个数。例如,第一个选a,第二个要从a后面
kon-kon
·
2025-03-12 00:59
leetcode
算法
职场和发展
归并排序(二叉树的后续遍历思想和数组的
双指针
技巧)
这次归并排序就只讲思路了,代码实现放到下次刷题再做首先确认一下归并排序的时间复杂度是NlogN的时间复杂度。实现归并排序的算法,我认为有几个困难需要克服掉1、首先就是要明确归并排序的算法思想,就是二叉数据的后序遍历,就是先从中间分割成两个子数组,然后继续分,直到只剩下一个元素,那么此时就是有序的,这个和构造二叉树时的分解思想十分相似,把子问题全部解决,那问题也就都解决了,至于我们只关注其中一个节点
冰火同学
·
2025-03-11 20:59
力扣
算法
排序算法
数据结构
1.0
双指针
专题:
双指针
思想
常⻅的
双指针
有两种形式,⼀种是对撞指针,⼀种是左右指针。一、对撞指针对撞指针:⼀般⽤于顺序结构中,也称左右指针。对撞指针从两端向中间移动。⼀个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼近。
熊峰峰
·
2025-03-11 15:17
数据结构
c++
算法
力扣hot100二刷——哈希、
双指针
、滑动窗口
第二次刷题不在idea写代码,而是直接在leetcode网站上写,“逼”自己掌握常用的函数。标志掌握程度解释办法⭐Fully完全掌握看到题目就有思路,编程也很流利⭐⭐Basically基本掌握需要稍作思考,或者看到提示方法后能解答⭐⭐⭐Slightly稍微掌握需要看之前写过的代码才能想起怎么做多做⭐⭐⭐⭐absolutelyno完全没有掌握需要看题解才知道怎么做背⭐⭐⭐⭐⭐有难度的高频题需要看题解
钢板兽
·
2025-03-11 03:44
手撕算法
leetcode
哈希算法
算法
面试
力扣题目(16):最接近的三数之和
题目解题思路排序数组:首先对数组进行排序,这样我们可以更方便地使用
双指针
来寻找最接近目标值的和。遍历数组:使用一个外层循环遍历数组中的每一个元素,作为三个数中的第一个数。
满怀1015
·
2025-03-11 03:42
LeetCode详细题解
leetcode
算法
数据结构
at_abc396_c题解
所以思路很明显了,可以直接排序后用
双指针
做。
hjyowl
·
2025-03-09 16:16
c语言
开发语言
力扣练习之盛最多水的容器
这道题其实最简单的方法是用双重循环,但它有一个坏处是时间复杂度非常高,O(n²),所以会超时,为了改良时间复杂度,所以采用了
双指针
的办法来进行解决题目:给定一个长度为n的整数数组height。
飘去数星星
·
2025-03-09 07:40
力扣练习题
leetcode
算法
职场和发展
LeetCode-Hot100-006三数之和
再三重循环遍历,但是第二重和第三重使用
双指针
的做法,复杂度降低为O(n2)O(n^2)O(n2)。
YQ_ZJH
·
2025-03-07 08:22
LeetCode100题
leetcode
数据结构
排序算法
算法
c++
蓝桥杯
java
双指针
——滑动窗口
双指针
算法是一种常用的算法技巧,广泛应用于数组、链表、字符串等数据结构的处理中。其中,滑动窗口是
双指针
的一种特殊形式,主要用于解决子数组或子字符串相关的问题。
六七_Shmily
·
2025-03-07 06:05
算法题
c++
双指针
滑动窗口
双指针
技巧
通俗解释
双指针
技巧是一种在数组、链表等线性数据结构中非常实用的算法策略。它通过使用两个指针在数据结构上按一定规则移动,来高效地解决各种问题。
阿图灵
·
2025-03-06 10:29
算法
算法探秘:盛最多水的容器问题
目录一、问题引入二、示例剖析三、暴力解法与困境四、
双指针
法:优雅的解决方案五、总结一、问题引入在算法的奇妙世界里,常常会遇到各种有趣又富有挑战性的问题,“盛最多水的容器”就是其中之一。
共享家9527
·
2025-03-06 03:04
算法
华为OD机试 - 叠积木1 -
双指针
(Python/JS/C/C++ 2024 B卷 200分)
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述有一堆长方体积木,它们的高度和宽度都相同,但长度不一。小橙想把这
哪 吒
·
2025-03-06 03:00
华为od
python
javascript
华为OD机试 - 最长连续子序列 -
双指针
(Python/JS/C/C++ 2023 C卷 100分)
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述有N个正整数组成的一个序列。给定整数sum,求长度最长的连续子序
哪 吒
·
2025-03-06 03:00
华为od
java
c语言
华为OD机试 - 字符串分割(二) -
双指针
(Python/JS/C/C++ 2024 C卷 100分)
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述给定一个非空字符串S,其被N个‘-’分隔成N+1的子串,给定正整
哪 吒
·
2025-03-06 03:59
华为od
python
javascript
力扣刷题 之 两数相加&三数相加&四数相加
文章目录前言两数相加题目介绍思路讲解代码暴力法:hash表法:三数相加题目介绍思路讲解代码四数相加题目介绍思路讲解代码前言一般对于这种数量相加的,我们的思路可以是先对数组进行排序,然后使用
双指针
的方法两数相加力扣第一题
oneouto
·
2025-03-05 11:46
力扣刷题
leetcode
算法
C++ 刷题日记 BFS + 计数数组 +
双指针
滑窗
文章目录1.奇偶树2.数组的相对排序3.最长和谐子序列1.奇偶树如果一棵二叉树满足下述几个条件,则可以称为奇偶树:二叉树根节点所在层下标为0,根的子节点所在层下标为1,根的孙节点所在层下标为2,依此类推。偶数下标层上的所有节点的值都是奇整数,从左到右按顺序严格递增奇数下标层上的所有节点的值都是偶整数,从左到右按顺序严格递减给你二叉树的根节点,如果二叉树为奇偶树,则返回true,否则返回false。
平生不喜凡桃李
·
2025-03-04 09:55
刷题日记
宽度优先
开发语言
c++
算法
【C++】
双指针
算法
技巧1.
双指针
算法,但实际上是利用数组下标来充当指针,并不是直接使用指针。2.cur指针(current),扫描遍历指针,左边是已经扫描遍历的部分,中间及右边是还未扫描遍历的部分。
星霜旅人
·
2025-03-04 01:25
C++
c++
算法
算法系列之
双指针
(待完善题目)
1.简介
双指针
是指在遍历数据结构(如数组、链表等)时,使用两个指针变量来辅助解决问题的方法。
邪恶的贝利亚
·
2025-03-03 08:44
c++数据与算法
算法
三.
双指针
/链表/数组
面试题16.06.最小差classSolution:defsmallestDifference(self,a:List[int],b:List[int])->int:a.sort();b.sort()i=j=0res=float('inf')whilei
价值成长
·
2025-03-03 05:48
算法
蓝桥杯
数据结构
leetcode
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他