一、560. 和为 K 的子数组

from typing import List
from collections import defaultdict
class Solution:
def subarraySum(self, nums: List[int], k: int) -> int:
presum = [0] * (len(nums) + 1)
for i, x in enumerate(nums):
presum[i + 1] = presum[i] + x
ans = 0
cnt = defaultdict(int)
for p in presum:
ans += cnt[p - k]
cnt[p] += 1
return ans
二、239. 滑动窗口最大值

- 思路 1:暴力法。逻辑直观,但时间复杂度较高,为 O(n^2)。
- 代码
from typing import List
class Solution:
() -> []:
(nums) == :
nums
res = []
left, right = , k
left <= ((nums) - k):
res.append((nums[left:right]))
left +=
right +=
res