Continuous Subarray Sum LeetCode solution in JavaScript
1var checkSubarraySum = function (nums, k) {2const n = nums.length;3if (n < 2) {4return false;5}6const map = new Map();78// edge case - to handle sum % k === 0 and9// if the first element of array is a multiple of k, condition 0 - (-1) = 1 > 1 wil fail (min length of subarray must be 2)10map.set(0, -1);11let sum = 0;1213for (let i = 0; i < n; ++i) {14sum += nums[i];15sum = sum % k;1617// handles min length of subarray must be 218if (map.has(sum) && i - map.get(sum) > 1) {19return true;20} else if (!map.has(sum)) {21map.set(sum, i);22}23}24return false;25};