问题标签 [arraydeque]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
193 浏览

java - 在 Deque 中打印最大元素

我有一个来自 Integers 的 Deque,我将其用作 Que。我必须从中添加和删除元素,在某些情况下,我需要在 Que 中打印最大值。

我尝试过的事情是:

但它打印 - Optional[the current max int]

谢谢!

0 投票
1 回答
180 浏览

java - Java ArrayDeque - offerLast & pollFirst vs offerFirst & pollLast

我正在做一些简单的算法问题并玩弄 ArrayDeque。

比如这个:

https://leetcode.com/problems/maximum-depth-of-binary-tree/submissions/

使用 BFS 时,我注意到 offerLast 和 pollFirst / offerFirst 和 pollLast 都给出了相同(正确)的答案。

何时使用哪个有最佳实践吗?由于这应该是一个队列,我认为我们应该提供最后并使用 pollFirst。但是为什么 offerFirst / pollLast 也有效?

另外,我知道我们不需要队列为 ArrayDeque 类型。只需一个简单的队列即可工作,而队列仅提供默认为 FIFO 实现的报价/轮询(offerLast,pollFirst)

0 投票
0 回答
22 浏览

java - 哪种队列派生数据类型可以促进最快的算法来检查字符串是否为回文?

我想知道与数组或链表实现的队列相比,使用 ArrayDeque 实现的 Deque 数据结构是否可以在时间复杂度方面提供更好的性能?

据我所知,在最坏的情况下,两种实现都可能是 O(n)。

0 投票
0 回答
30 浏览

c - 使用 Array 实现双端队列

我们知道我们可以在 deque 上执行 4 个主要操作,它们是:

Insert_Left、Insert_Right、Delete_Left、Delete_Right

我正在阅读的书指出,我们可以使用双端队列作为输入受限输出受限,即一次上述 3 种操作。为什么我们不能使用所有四个操作?我是 DS 的初学者,所以我的问题可能听起来很傻。