அல்கோரிதம்overview
Sliding Window (Efficiently Processing Continuous Subarrays and Substrings) — நகரும் சாளரம் — தொடர் உட்கூறுகள்
TT
Testlaa Team
May 14, 2026•1 min read
நகரும் சாளரம் (sliding window) — தொடர்ச்சி [இடது, வலது] பகுதி; ஒவ்வொரு நகர்விலும் கூட்டல்/எண்ணிக்கை போன்றவற்றை மீண்டும் முழு ஸ்கேன் செய்யாமல் O(1) அல்லது O(n) மொத்தத்தில் பராமரிக்கும் நுட்பம்.
உண்மை உலகில் இது ஏன் முக்கியம்?
பிணைய போக்கு — நகரும் சராசரி/சாளரம். வீடியோ இடையகம் — கடைசி N பிரேம். கடந்த 7 நாள் விற்பனை — தேதி சாளரம். DNA motif — k-mer நகர்வு. ஒழுங்கான தரவில் அண்டைப்பகுதி.
மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)
L, R என இரண்டு index. R விரிவு; சாளரம் செல்லாதது அல்லது சிறந்த பதில் தேடும்போது L சுருக்கு. நகர்வில் படிப்படியாக மொத்தம் புதுப்பி (கூட்டல், Counter). இருபுறமும் ஒரே நேரம் மீட்டமைப்பு அரிது.
Pythonில் முயற்சி செய்வோம்
def max_sum_subarray_k(nums: list[int], k: int) -> int:
if k <= 0 or k > len(nums):
return 0
s = sum(nums[:k])
best = s
for i in range(k, len(nums)):
s += nums[i] - nums[i - k]
best = max(best, s)
return best
print(max_sum_subarray_k([2, 1, 5, 1, 3, 2], 3))
அடிக்கடி நேரும் தவறுகள்
Rநகர்த்தி நிலை புதுப்பிக்காமல்L— இரட்டிப்பு பிழை.- வெற்று சாளரம் எல்லை.
- சமமான இரு குறி சந்திப்புடன் குழப்பம்.
முக்கியச் சுருக்கக் குறிப்புகள்
- சாளரம் = இடைவெளி + படிப்படி நிலை.
[L,R]அடைப்பு வரைபு.- நிலையான நீளம் எதிர் செல்லுநிலை?
Tags:
Sliding windowPythonமாணவர்கள்
