文章 2024-05-20 来自:开发者社区

数据结构与算法⑨(第三章_下)队列的概念和实现(力扣:225+232+622)(下)

数据结构与算法⑨(第三章_下)队列的概念和实现(力扣:225+232+622)(上):https://developer.aliyun.com/article/1513405 力扣链接:622. 设计循环队列 难度中等 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器...

数据结构与算法⑨(第三章_下)队列的概念和实现(力扣:225+232+622)(下)
文章 2024-05-20 来自:开发者社区

数据结构与算法⑨(第三章_下)队列的概念和实现(力扣:225+232+622)(上)

一、队列(Queue) 队列的概念: ① 队列只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表。 ② 入队列,进行插入操作的一端称为 队尾。出队列,进行删除操作的一端称为 队头。 ③ 队列中的元素遵循先进先出的原则,即 FIFO 原则(First In First Out) 队列的结构: ...

数据结构与算法⑨(第三章_下)队列的概念和实现(力扣:225+232+622)(上)
文章 2024-01-22 来自:开发者社区

【二叉树】【单调双向队列】LeetCode239:滑动窗口最大值

题目给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值 。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] ....

【二叉树】【单调双向队列】LeetCode239:滑动窗口最大值
文章 2023-11-29 来自:开发者社区

225. 用队列实现栈 --力扣 --JAVA

 题目请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。注意:你只能....

225. 用队列实现栈 --力扣 --JAVA
文章 2023-11-28 来自:开发者社区

1670. 设计前中后队列 --力扣 --JAVA

 题目请你设计一个队列,支持在前,中,后三个位置的 push 和 pop 操作。请你完成 FrontMiddleBack 类:FrontMiddleBack() 初始化队列。void pushFront(int val) 将 val 添加到队列的 最前面 。void pushMiddle(int val) 将 val 添加到队列的 正中间 。void pushBack(int val)....

1670. 设计前中后队列 --力扣 --JAVA
文章 2023-11-16 来自:开发者社区

数据结构-栈和队列力扣题

有效的括号题目链接:力扣(LeetCode)思路:这道题可以用栈来解决,先让字符串中的左括号' ( ',' [ ',' { '入栈,s指向字符串下一个字符,如果该字符也是左括号,那就继续入栈,如果是右括号,那就让其与栈顶元素相匹配(每次都要弹出栈顶元素),匹配上了,继续循环,匹配不上就返回false,注意在每次返回false之前都要销毁栈。还要考虑极端情况,如果全是左括号,我们要在代码最后进行判....

数据结构-栈和队列力扣题
文章 2023-11-16 来自:开发者社区

225.用队列实现栈(LeetCode)

思路 思路:用两个队列实现栈后进先出的特性 ,两个队列为空时,先将数据都导向其中一个队列。当要模拟出栈时,将前面的元素都导入另一个空队列,再将最后一个元素移出队列 实现 实现: 因为C语言没有库可以现成使用,所以我们将写好的队列导入 先创建MyStack结构体,包含两个队列结构体。再malloc动态申请MyStack结构体的空间,最后将两个队列传入初始化函数,进行初始化(记得要加上&取地....

225.用队列实现栈(LeetCode)
文章 2023-11-16 来自:开发者社区

232.用栈实现队列(LeetCode)

思路思路:利用两个栈实现队列先进先出的特性,先将元素导入一个栈内 模拟出队时,则将所有元素导入另一个栈内,此时元素顺序被反转过来,只需要取栈顶数据即可 那我们就可以将两个栈的功能分开,一个专门入push,一个专门出pop。出数据时,如果popst为空,则将pushst的数据导入。假设pushst入了1234后,反转到popst后,pushst又入了56,这时也是可以的。因为先pop4次,将1 2....

232.用栈实现队列(LeetCode)
文章 2023-11-14 来自:开发者社区

【数据结构】第七站:栈和队列力扣题

一、用队列实现栈题目链接:力扣对于这道题,我们想要使用两个队列去实现栈队列的性质是先进先出,而栈的性质是先进后出为了实现性质转换,我们需要有一个队列时刻保持空状态,当我们想要入栈的时候,我们在不是空的队列进行插入即可而想要实现出栈,假设又n+1个数据,先将前n个数据给倒入另一个空队列,最后出最后一个数据即可有了思路,但是这道题最难的地方就是栈的结构了。也就是创建栈的函数,根据题目的要求,我们是需....

【数据结构】第七站:栈和队列力扣题
文章 2023-10-26 来自:开发者社区

代码随想录 Day10 栈与队列 LeetCode T239 滑动窗口的最大值 T347 前K个高频元素

简要介绍一下单调队列和优先级队列的不同 元素顺序的处理:单调队列中,元素的顺序是单调的,也就是说,队列中的元素按照特定的单调性(递增或递减)排列。这种特性使得单调队列在处理一些问题时非常高效,例如寻找滑动窗口中的最大值或最小值。优先队列则根据元素的优先级进行排序,优先级高的元素先出队。优先队列并不保证元素的单调性。入队和出队的操作:在单调队列中,元素可以从队尾入队,但出队操作只能在队首进行。这是....

代码随想录 Day10 栈与队列 LeetCode T239 滑动窗口的最大值 T347 前K个高频元素

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等