栈和队列
文章平均质量分 61
嘻嘻哈哈樱桃
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
前k个高频元素力扣--347
给你一个整数数组nums和一个整数k,请你返回其中出现频率前k高的元素。你可以按返回答案。[1,2][1]k。原创 2025-01-22 10:38:02 · 579 阅读 · 0 评论 -
滑动窗口最大值力扣--239
poll函数:如果窗口移除的元素value等于单调队列的出口元素,那么队列弹出元素,否则不用任何操作。add函数:添加进队列,把在他前面的比他小的数字全部弹出,保证队列的首部是这个滑动窗口u的最大值。保持如上规则,每次窗口移动的时候,只要问que.front()就可以返回当前窗口的最大值。的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。滑动窗口的位置 最大值。滑动窗口每次只向右移动一位。长度为n的数组,他有n-k+1个滑块。原创 2025-01-20 19:36:05 · 304 阅读 · 0 评论 -
逆波兰表达式求值力扣--150
给你一个字符串数组tokens,表示一个根据表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。'+''-''*''/'9该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 96该算式转化为常见的中缀算术表达式为:(4 + (13 / 5)) = 622该算式转化为常见的中缀算术表达式为:= 17 + 5= 22。原创 2025-01-20 17:10:56 · 437 阅读 · 0 评论 -
删除字符串中所有相邻重复项力扣--1047
给出由小写字母组成的字符串s会选择两个相邻且相同的字母,并删除它们。在s上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。"abbaca""ca"例如,在"abbaca"中,我们可以删除"bb"由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串"aaca",其中又只有"aa"可以执行重复项删除操作,所以最后的字符串为"ca"。原创 2025-01-20 16:11:51 · 390 阅读 · 0 评论 -
力扣--225.用队列实现栈
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(pushtoppop和empty实现MyStackint pop()int top()truefalsesizeis empty。原创 2024-07-20 17:27:31 · 585 阅读 · 0 评论 -
力扣--232.用栈实现队列
若循环执行 A 元素出栈并添加入栈 B ,直到栈 A 为空,则 A = [] , B = [3,2,1] ,即栈 B 元素为栈 A 元素倒序。利用栈 B 删除队首元素:倒序后,B 执行出栈则相当于删除了 A 的栈底元素,即对应队首元素。因此,可以设计栈 A 用于加入队尾操作,栈 B 用于将元素倒序,从而实现删除队首元素。否则: 将栈 A 元素全部转移至栈 B 中,实现元素倒序,并返回栈 B 的栈顶元素。当栈 B 不为空: B中仍有已完成倒序的元素,因此直接返回 B 的栈顶元素。弹出 B 的栈顶元素。原创 2024-07-19 17:55:41 · 747 阅读 · 0 评论 -
栈的基础知识
栈是限定仅在表尾(top)进行插入或者删除操作的线性表允许插入和删除的一端称为栈顶(top,表尾),另一端称为栈底(bottom,表头)原创 2024-07-08 21:12:18 · 408 阅读 · 0 评论 -
栈的算法总结
计算机科学中,stack是一种线性的数据结构,只能在其一端添加数据和移除数据。习惯来说,这一端称之为栈顶,另一端不能操作数据的称之为栈底,就如同生活中的一摞书栈是限定仅在表尾(top)进行插入或者删除操作的线性表允许插入和删除的一端称为栈顶(top,表尾),另一端称为栈底(bottom,表头)特点:后进先出是栈的顺序存储结构,利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素指针top指向栈顶元素在顺序栈种的下一个位置base为栈底指针,指向栈底的位置先提供一个栈接口/**原创 2024-07-09 10:01:48 · 274 阅读 · 0 评论 -
力扣--20. 有效的括号
还有一个简化操作:要想括号匹配,那么她一定是偶数个,所以可以如果是奇数,可以直接返回false,简化代码。原创 2024-07-13 18:47:07 · 414 阅读 · 0 评论
分享