Skip to content

Commit 5eac27d

Browse files
committed
Nov 19
1 parent e39bd20 commit 5eac27d

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
from collections import defaultdict
2+
from typing import List
3+
4+
5+
class Solution:
6+
def maximumSubarraySum(self, nums: List[int], k: int) -> int:
7+
freq = defaultdict(int)
8+
curr_sum, max_sum = 0, 0
9+
for ptr, num in enumerate(nums):
10+
curr_sum += num
11+
freq[num] += 1
12+
if ptr >= k:
13+
prev = nums[ptr - k]
14+
curr_sum -= prev
15+
freq[prev] -= 1
16+
if freq[prev] == 0:
17+
del freq[prev]
18+
if len(freq) == k:
19+
max_sum = max(max_sum, curr_sum)
20+
return max_sum
21+
22+
23+
def main():
24+
nums = [1, 5, 4, 2, 9, 9, 9]
25+
k = 3
26+
assert Solution().maximumSubarraySum(nums, k) == 15
27+
28+
nums = [4, 4, 4]
29+
k = 3
30+
assert Solution().maximumSubarraySum(nums, k) == 0
31+
32+
33+
if __name__ == '__main__':
34+
main()

2024-11-November-LeetCoding-Challenge/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
| November 16 | [3254. Find the Power of K-Size Subarrays I](https://leetcode.com/problems/find-the-power-of-k-size-subarrays-i/) | Medium | Solved |
2222
| November 17 | [862. Shortest Subarray with Sum at Least K](https://leetcode.com/problems/shortest-subarray-with-sum-at-least-k/) | Hard | Solved |
2323
| November 18 | [1652. Defuse the Bomb](https://leetcode.com/problems/defuse-the-bomb/) | Easy | Solved |
24-
| November 19 | []() | | |
24+
| November 19 | [2461. Maximum Sum of Distinct Subarrays With Length K](https://leetcode.com/problems/maximum-sum-of-distinct-subarrays-with-length-k/) | Medium | Solved |
2525
| November 20 | []() | | |
2626
| November 21 | []() | | |
2727
| November 22 | []() | | |
@@ -38,5 +38,5 @@
3838
| Level | Problems | Solved | Unsolved |
3939
| --- | --- | --- | --- |
4040
| Easy | 4 | 4 | 0 |
41-
| Medium | 13 | 6 | 7 |
41+
| Medium | 14 | 7 | 7 |
4242
| Hard | 1 | 1 | 0 |

0 commit comments

Comments
 (0)