Quick actions

cmd+k|ctrl+k

Navigation

Languages

Sliding Window (clever)

Snippet info

Language

Python

Visibility

public

Author

arthurpc02

Created

2026-02-22T21:42:54.0895Z

Updated

2026-02-22T21:44:18.021685Z

# Find the maximum sum of a subarray of size k.

# Example:

# Input: nums = [2, 1, 5, 1, 3, 2], k = 3

# Output: 9


# source: https://blog.algomaster.io/p/15-leetcode-patterns

def calculate(nums, k):
    # clever: sliding window
    # calculate first window:
    max_sum = 0
    sum=0
    
    for i, val in enumerate(nums):
        if i==0:
            for val in nums[:k]:
                sum+=val
            print(f"first window={sum}")
        elif len(nums)-i<k:
            print("break")
            break
        else:
            sum = sum - nums[i-1] + nums[i+k-1]
            print(f"next window={sum}")
            
        if sum > max_sum:
            max_sum=sum
        
    return max_sum


print("Hello World")

test_case1_array = [2, 1, 5, 1, 3, 2]
test_case1_wind_size = 3
result1 = calculate(test_case1_array, test_case1_wind_size)
print(f"result1={result1}")
assert(result1==9)


test_case2_array = [2, 1, 11, 5, 1, 3, -12, 18, 8]
# 19, 18, 20, -3, 10, 17
test_case2_wind_size = 4
result2 = calculate(test_case2_array, test_case2_wind_size)
print(f"result1={result2}")
assert(result2==20)


print("Good-Bye CruelWorld")
INFO