Leet Code Daily 2024-06-08 - Continuous Subarray Sum
Solution
Preffix sum & hash.
Code
class Solution {
public:
bool checkSubarraySum(vector<int>& nums, int k) {
vector<int> sums = {0};
for (const auto& x : nums) {
sums.push_back(sums.back() + x);
}
unordered_set<int> mods;
for (int i = 0; i < sums.size(); i++) {
if (i - 2 >= 0) {
mods.insert(sums[i - 2] % k);
}
if (mods.contains(sums[i] % k)) {
return true;
}
}
return false;
}
};