அல்கோரிதம்variable sliding window
Variable Sliding Window (Dynamic Adjustment Based on Conditions) — மாறும் சாளரம்
TT
Testlaa Team
May 14, 2026•1 min read
மாறும் சாளரம் — நிபந்தனை பொறுத்த அகலம்; எ.கா. “அதிகபட்சம் K வெவ்வேறு எழுத்துக்கள்”. செல்லும்வரை R விரி; பின் L சுருக்கி மீண்டும் செல்லும் வரை.
உண்மை உலகில் இது ஏன் முக்கியம்?
தகவமைப்பு bitrate — இடையக சாளரம் அகலம்/இறுக்கம். கடன் வேலை வரலாறு — குறைந்தபட்ச மாதம் நிறைவு சாளரம்.
மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)
R சேர்; while not valid: a[L] நீக்கு, L+=1. பதில் — அதிகநீளம், எண்ணிக்கை, முதலியன.
Pythonில் முயற்சி செய்வோம்
from collections import Counter
def longest_k_distinct(s: str, k: int) -> int:
ct, best, L = Counter(), 0, 0
for R, ch in enumerate(s):
ct[ch] += 1
while len(ct) > k:
ct[s[L]] -= 1
if ct[s[L]] == 0:
del ct[s[L]]
L += 1
best = max(best, R - L + 1)
return best
print(longest_k_distinct("eceba", 2))
அடிக்கடி நேரும் தவறுகள்
Lமுன்னேறாத while — நிரந்தர வளையம்.Lநகர்வில் நிலை மறைப்பு.- வெற்று சாளரம்.
முக்கியச் சுருக்கக் குறிப்புகள்
- மாறும் சாளரம் — செல்லாத வரை இடமிருந்து சுருக்கு.
- வலது சுருக்க மாறுபாடு — கவனம்.
Tags:
Sliding windowPythonமாணவர்கள்
