题目描述:
解:
前缀和+hashSet
class Solution {
public boolean checkSubarraySum(int[] nums, int k) {
int n = nums.length;
int[] sum = new int[n+1];
for (int i = 1; i <= n; i++) {
sum[i] = sum[i-1] + nums[i-1];
}
Set<Integer> set = new HashSet<Integer>();
for(int i=2; i<=n; i++) {
set.add(sum[i-2] % k);
if(set.contains(sum[i] % k)) return true;
}
return false;
}
}