更新python3的用例,替换list为deque,如果用list会超时的问题

This commit is contained in:
freshield
2022-10-11 19:56:58 +08:00
parent d93cd627c0
commit fe1eaeff4e

View File

@ -296,16 +296,19 @@ class Solution {
```
Python
```python
```python3
from collections import deque
class MyQueue: #单调队列(从大到小
def __init__(self):
self.queue = [] #使用list来实现单调队列
self.queue = deque() #这里需要使用deque实现单调队列直接使用list会超时
#每次弹出的时候,比较当前要弹出的数值是否等于队列出口元素的数值,如果相等则弹出。
#同时pop之前判断队列当前是否为空。
def pop(self, value):
if self.queue and value == self.queue[0]:
self.queue.pop(0)#list.pop()时间复杂度为O(n),这里可以使用collections.deque()
self.queue.popleft()#list.pop()时间复杂度为O(n),这里需要使用collections.deque()
#如果push的数值大于入口元素的数值那么就将队列后端的数值弹出直到push的数值小于等于队列入口元素的数值为止。
#这样就保持了队列里的数值是单调从大到小的了。