sliding+map記count
應該大同小異吧
比昨天的easy簡單==
一二三四五
def maximumSubarraySum(self, nums: List[int], k: int) -> int:
mp = defaultdict(int)
ans = 0
cur_sum = 0
for i in range(k-1):
mp[nums[i]] += 1
cur_sum += nums[i]
for i in range(k-1, len(nums)):
cur_sum += nums[i]
mp[nums[i]] += 1
if len(mp.keys()) == k:
ans = max(ans, cur_sum)
cur_sum -= nums[i-k+1]
mp[nums[i-k+1]] -= 1
if mp[nums[i-k+1]] == 0:
mp.pop(nums[i-k+1])
return ans