Sliding Window Maximum · Nhóm: Ngăn xếp & Hàng đợi
Lớn nhất cửa sổ trượt (Sliding Window Maximum), nhóm Ngăn xếp & Hàng đợi.
def max_sliding_window(a, k):
q = [] # chi so, gia tri giam dan
res = []
for i in range(len(a)):
while q and a[q[-1]] <= a[i]:
q.pop()
q.append(i)
if q[0] <= i - k:
q.pop(0)
if i >= k - 1:
res.append(a[q[0]])
return res
Mở trang để xem mô phỏng từng bước và xuất slide bài giảng.