Sliding-window நுட்பம் ஒரு வரிசை அல்லது சரத்தின் மீது ஒரு தொடர்ச்சியான வரம்பு (சாளரம்) பராமரிக்கிறது மற்றும் அதை ஸ்லைடு செய்கிறது, பூஜ்ஜியத்திலிருந்து மீண்டும் கணக்கிடுவதற்கு பதிலாக, பல subarray/substring சிக்கல்களை O(n) இல் தீர்க்கிறது.
ஆண்டி
சாளரத்தை வலது விளிம்பை நகர்த்துவதன் மூலம் விரிவாக்கவும்; ஒரு கட்டுப்பாடு மீறப்பட்டால் இடது விளிம்பை நகர்த்துவதன் மூலம் சுருங்கவும். மீண்டும் ஸ்கேன் செய்வதற்கு பதிலாக முந்தைய கணக்கீட்டை மீண்டும் பயன்படுத்தவும்.
உதாரணம்: k அளவு சாளரத்தின் அதிகபட்ச தொகை
():
window = (arr[:k])
best = window
i (k, (arr)):
window += arr[i] - arr[i - k]
best = (best, window)
best
max_window_sum([, , , , , ], )
