@@ -2,42 +2,53 @@ def max_sum_subarray(arr, k):
2
2
# Edge case: if the window size is greater than the array length
3
3
if len (arr ) < k :
4
4
return None
5
-
5
+
6
6
# Compute the sum of the first window
7
7
window_sum = sum (arr [:k ])
8
8
max_sum = window_sum
9
-
9
+
10
10
# Slide the window from left to right
11
11
for i in range (k , len (arr )):
12
12
# Subtract the element going out of the window and add the new element coming into the window
13
13
window_sum += arr [i ] - arr [i - k ]
14
14
max_sum = max (max_sum , window_sum )
15
-
15
+
16
16
return max_sum
17
17
18
+
18
19
# Example usage:
19
20
20
21
# Example 1: Larger array
21
22
arr1 = [4 , 3 , 10 , 2 , 8 , 6 , 7 , 1 , 9 ]
22
23
k1 = 4
23
- print ("Example 1: Maximum sum of subarray of length" , k1 , "is" , max_sum_subarray (arr1 , k1 ))
24
+ print (
25
+ "Example 1: Maximum sum of subarray of length" , k1 , "is" , max_sum_subarray (arr1 , k1 )
26
+ )
24
27
25
28
# Example 2: All elements are negative
26
29
arr2 = [- 2 , - 3 , - 1 , - 5 , - 6 ]
27
30
k2 = 2
28
- print ("Example 2: Maximum sum of subarray of length" , k2 , "is" , max_sum_subarray (arr2 , k2 ))
31
+ print (
32
+ "Example 2: Maximum sum of subarray of length" , k2 , "is" , max_sum_subarray (arr2 , k2 )
33
+ )
29
34
30
35
# Example 3: Array with all elements equal
31
36
arr3 = [5 , 5 , 5 , 5 , 5 , 5 ]
32
37
k3 = 3
33
- print ("Example 3: Maximum sum of subarray of length" , k3 , "is" , max_sum_subarray (arr3 , k3 ))
38
+ print (
39
+ "Example 3: Maximum sum of subarray of length" , k3 , "is" , max_sum_subarray (arr3 , k3 )
40
+ )
34
41
35
42
# Example 4: Small array
36
43
arr4 = [1 , 2 ]
37
44
k4 = 2
38
- print ("Example 4: Maximum sum of subarray of length" , k4 , "is" , max_sum_subarray (arr4 , k4 ))
45
+ print (
46
+ "Example 4: Maximum sum of subarray of length" , k4 , "is" , max_sum_subarray (arr4 , k4 )
47
+ )
39
48
40
49
# Example 5: k greater than the array length
41
50
arr5 = [7 , 8 , 9 ]
42
51
k5 = 5
43
- print ("Example 5: Maximum sum of subarray of length" , k5 , "is" , max_sum_subarray (arr5 , k5 ))
52
+ print (
53
+ "Example 5: Maximum sum of subarray of length" , k5 , "is" , max_sum_subarray (arr5 , k5 )
54
+ )
0 commit comments