2461. Maximum Sum of Distinct Subarrays With Length K
wwww
class Solution:
def maximumSubarraySum(self, nums: List[int], k: int) -> int:
if len(nums) < k:
return 0
curSet = defaultdict(int)
maxSum = float("-inf")
l = 0
curSum = 0
for r in range(len(nums)):
curSet[nums[r]] += 1
curSum += nums[r]
while curSet[nums[r]] > 1 or (r - l + 1) > k:
curSum -= nums[l]
curSet[nums[l]] -= 1
l += 1
if (r - l + 1) == k:
maxSum = max(maxSum, curSum)
return maxSum if maxSum != float("-inf") else 0