Python 中的滑動視窗
Vaibhhav Khetarpal
2022年5月18日
在任何給定點,可以說是給定特定資料結構的子集的任何視窗都稱為滑動視窗。視窗大小決定了該子集將包含的元素數量。
本教程討論滑動視窗並演示如何在 Python 中實現它。
使用滑動視窗的主要原因是它降低了時間複雜度。它專門以更快的速度解決使用蠻力方法解決的問題。
滑動視窗可用於簡單的編碼任務以及數字影象處理和物件檢測等龐大而高階的任務。但是,本文將重點介紹一個簡單的領域,以幫助你瞭解滑動視窗以及如何使用它。
為了更好地解釋這一點,我們將舉一個問題的例子,然後在其上實現一個滑動視窗。對於本文,我們採取以下問題:
給定一個大小為 x
的數字陣列。找到具有最大總和的視窗大小 k
的子陣列。
輸入:x =[12,11,10,23,55,45,15,28],k=3。
現在,我們將應用一個滑動視窗來解決這個問題。
n = int(input("enter size of array "))
print("enter arrays elements")
a = list(map(int, input().split()))
k = int(input("enter the size of subarray "))
ms = -(10 ** 6)
ws = sum(a[:k])
for i in range(n - k):
ms = max(ms, ws)
ws = ws - a[i] + a[i + k]
ms = max(ms, ws)
print("subarray of size {} with maximum sum as {}".format(k, ms))
上面的程式碼提供了以下輸出:
enter size of array 8
enter arrays elements
12 11 10 23 55 45 15 28
enter the size of subarray 3
subarray of size 3 with maximum sum as 123
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn