அல்கோரிதம்sliding window two pointer
Sliding Window Two Pointer (Dynamic Expansion and Shrinking) — இரு குறி + சாளரம்
TT
Testlaa Team
May 14, 2026•1 min read
ஒரே தொடரில் இரு குறி — L, R; பெரும்பாலும் L பின்னோக்கி செல்லாது. இது பல வினாக்களை ஒரே குடும்பமாக்கும்.
உண்மை உலகில் இது ஏன் முக்கியம்?
உரை ஒன்றிணைப்பு — இரு குறி; வசன வரி நேரம் — தொடக்க/முடிவு இணை.
மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)
சமநிலை எழுது: “R முடியும் சிறிய L” எதிர் “Lக்கு பெரிய R”. சரிபார்ப்புக்கு ஏற்றது தேர்வு.
Pythonில் முயற்சி செய்வோம்
def min_subarray_len(target: int, nums: list[int]) -> int:
s, L, best = 0, 0, len(nums) + 1
for R, x in enumerate(nums):
s += x
while s >= target:
best = min(best, R - L + 1)
s -= nums[L]
L += 1
return 0 if best > len(nums) else best
print(min_subarray_len(7, [2, 3, 1, 2, 4, 3]))
அடிக்கடி நேரும் தவறுகள்
- இருபுறமும் பின்னோக்கி — பகுப்பாய்வு உடைவு.
- monotone அல்லாத நிபந்தனை — வேறு கட்டமைப்பு.
முக்கியச் சுருக்கக் குறிப்புகள்
- உட்கூறு வினாக்கள் வடிவம் ஒத்தது.
Lமட்டும் ++ — O(n) நிரூபணம்.
Tags:
Sliding windowPythonமாணவர்கள்
