Merge pull request #1690 from Freshield/master

更新了0239.滑动窗口最大值:python3的用例,替换list为deque,如果用list会超时的问题
This commit is contained in:
程序员Carl
2022-10-16 10:47:02 +08:00
committed by GitHub

View File

@ -297,15 +297,18 @@ class Solution {
Python
```python
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的数值小于等于队列入口元素的数值为止。
#这样就保持了队列里的数值是单调从大到小的了。