算法与数据机构学习之路
文章平均质量分 74
ideaout技术团队
专注于移动端、h5、后台研发,项目开发或问题咨询微信mwhjjy591
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode学习笔记1:双指针
双指针算法主要包括对撞指针和快慢指针两种形式。对撞指针从数组两端向中间移动,快慢指针则以不同速度遍历序列。双指针思想可灵活应用于多种场景,如删除有序数组重复项(力扣26题)通过快慢指针实现去重,以及移动零问题(算法题2)通过双指针保持非零元素顺序。两种解法均实现原地操作,时间复杂度为O(n),空间复杂度O(1)。核心在于通过指针协同遍历高效处理数组元素,避免额外空间开销。原创 2025-09-19 00:44:01 · 402 阅读 · 0 评论 -
算法与数据机构学习_第一章.栈和队列_2.实现2个栈组成的队列
2个栈组成的队列===========算法要求:用2个栈实现队列的基本操作(队列的先进先出原则)思路:栈是先进后出的原则,二队列是先进先出原则。栈的出栈顺序和队列刚好是相反的,因此,可以用2个栈来把顺序反过来,实现先进先出的顺序。算法过程:定义2个栈,stack1和stack2,可以往stack1中push数据,每次每次加入数据都是往stack1中加入数据,而要peek或pup数据时,从stack2原创 2016-04-15 19:13:06 · 466 阅读 · 0 评论 -
算法与数据机构学习_第一章.栈和队列_1.设计一个有返回栈中最小元素功能的栈
设计一个有getMin功能的栈(返回栈中的最小元素)算法要求:实现一个特殊的栈,在实现栈的基本功能的基础上,添加能够实现返回栈中最小元素的栈,要求算法的时间复杂读为O(1),即在常数时间内实现。思路:在一个栈中在时间复杂读度为O(1)返回栈中最小元素是不可能实现的额,因此借助另一个栈,即用2个栈实现,一个栈和普通的栈一样,存放元素,另一个专门用来存放栈中最小元素。算法过程:定义2个普通的Stack栈原创 2016-04-15 19:03:06 · 1073 阅读 · 0 评论
分享