560.和为 K 的子数组
974.和可被 K 整除的子数组
1248.统计[优美子数组]
1371.每个元音包含偶数次的最长子字符串
解题过程
假设 preSum[i]
是数组 A[1]、A[2],...,A[n]
的前缀和,则:
preSum[i] = A[1]+A[2] +...+A[i]
数组 A
的子数组A[i,..,j]
可以表示为 preSum[j]-preSum[i-1]
。
对于上面几道题来说,通过遍历数组 A
生成 preSum
数组,同时结合哈希表,可以在O(n)
时间复杂度内解决。