523. Continuous Subarray Sum
https://leetcode.com/problems/continuous-subarray-sum/description/
Thoughts
/*
* @lc app=leetcode id=523 lang=cpp
*
* [523] Continuous Subarray Sum
*/
// @lc code=start
class Solution {
public:
bool checkSubarraySum(vector<int>& nums, int k) {
unordered_map<int, int> presum;
presum[0] = -1;
int sum = 0;
for (int i = 0; i < nums.size(); ++i) {
const auto num = nums[i];
sum += num;
if (k != 0) sum %= k;
if (presum.count(sum)) {
if (i - presum[sum] > 1) return true;
} else presum[sum] = i;
}
return false;
}
};
// @lc code=end
Last updated