அல்கோரிதம்sliding window fixed

Sliding Window Fixed (Processing Subarrays of Fixed Size Efficiently) — நிலையான நீள சாளரம்

TT
Testlaa Team
May 14, 20261 min read

நிலையான நீளம் k — எப்போதும் k உறுப்புகள்; முதல் k கட்டிய பின் ஒவ்வொரு படியிலும் உள்ளே வருவது + வெளியேறுவது O(1).

உண்மை உலகில் இது ஏன் முக்கியம்?

24 மணி வானிலை சராசரி, பங்கு நகரும் சராசரி, உணர் மென்மையாக்கம் — நிலையான k. விளையாட்டு காம்போ — கடைசி N தாக்கம்.

மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)

முதல் சாளரம் கட்டி window_sum += nums[i] - nums[i-k]. சரங்களில் எழுத்து எண்ணிக்கை அல்லது bitmask.

Pythonில் முயற்சி செய்வோம்

def max_avg_subarray(nums: list[int], k: int) -> float:
    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 / k


print(max_avg_subarray([1, 12, -5, -6, 50, 3], 4))

அடிக்கடி நேரும் தவறுகள்

  • k > len காக்காமை.
  • முழு சாளரம் மீண்டும் கூட்டல் — நோக்கம் போக்கு.

முக்கியச் சுருக்கக் குறிப்புகள்

  • நிலையான சாளரம் — உள்/வெளி கணக்கு.
  • max/min — minக்கு deque O(n).

Tags:

Sliding windowPythonமாணவர்கள்