自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 算法通关村——栈和队列问题解析

入栈操作时,首先将元素入队到 queue2 ,然后将 queue1 的全部元素依次出队并入队到 queue2 ,此时 queue2 的前端的元素即为新入栈的元素,再将 queue1 和 queue2 互换,则 queue1 的元素即为栈内的元素,queue1 的前端和后端分别对应栈顶和栈底。思路:为了满足栈的特性,即最后入栈的元素最先出栈,在使用队列实现栈时,应满足队列前端的元素是最后入栈的元素。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(

2023-09-18 10:22:33 70

原创 算法通关村——队列基本问题

节点的排队次序和出队次序按照入队时间先后确定,先入先出(first in first out)

2023-09-18 10:12:32 64

原创 算法通关村白银挑战——栈的经典算法问题

思路:运用哈希表先将一对一对的字符串进行存储,分别作为 key 和 value,如果是 key 就放入栈中,如果是 value 就进行比较消除,消除失败则返回 false。思路:用另一个栈来存储最小值,把每次遍历到的最小值输入,那么他就会生成一个带有排序功能的队列(最小堆)。链接:https://leetcode.cn/problems/min-stack/链接:https://leetcode.cn/problems/max-stack/设计一个最大栈数据结构,既支持栈操作,又支持查找栈中最大元素。

2023-09-17 19:31:51 68 1

原创 算法通关村—如何基于数组(或者链表)实现栈

栈的底层实现是顺序表或链表,只允许在一端进行插入和删除操作。允许操作的一段叫做栈顶 (Top),不允许操作的一段叫做栈底 (Buttom), 插入元素的操作称为入栈(push),删除元素的操作叫做出栈(pop)

2023-09-17 19:30:35 72 1

原创 《算法通关村第三关——双指针的妙用》

其中,快指针表示的是遍历了整个数组,而慢指针则是在原来的基础上创建了一个新的数组。

2023-09-05 13:55:29 45 1

原创 《算法通关村第三关——不简单的链表增删改查》

具有相同特征数据元素的一个有限序列,其中所含元素的个数称为线性表的长度。

2023-09-05 13:51:31 51 1

原创 算法村通关第二关——手写链表反转

这里其实相当于开辟了一条新的链表。将原来的链表进行从头遍历,再将遍历到的元素插入到新的链表中。最后只需要返回虚拟头节点的next即可。总体思路是比较的简单。核心在于不断地调整两个节点的相互关系,实现指向关系的反转。无法理解,日后研究…

2023-09-01 16:04:32 116 1

原创 算法村通过第二章——链表反转的拓展问题

这种方法主要是分成两个步骤,先把链表要翻转的部分拿出来,独立成为一个新的链表进行翻转(运用我们之前学的206题的翻转链表)。这道题比较新颖,可以用栈来实现,因为我们需要从个位开始加起(考虑到进位的问题),所以我们必须从链表最后开始操作,这样就需要用栈将其暂存起来。这个和上一道题的实现思路是一样的,用栈进行暂存,之后再用头插法构造出一个新的链表来。即使后续有可能优化成一个栈进行存储,也需要耗费一定的另外空间存储进位的信息。该方法的整体思想是:从开始反转的位置算起,两两节点进行反转。

2023-09-01 16:01:35 122 1

原创 算法村通关第二关——链表经典问题笔记

链表定义与 leetcode 中一致。

2023-08-30 16:54:27 211 1

原创 算法通关村第一关——链表青铜挑战笔记

算法基本数据结构和增删改查

2023-08-30 15:06:25 200 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除