523. Continuous Subarray Sum

523. Continuous Subarray Sum

Medium

Given an integer array nums and an integer k, return true if nums has a good subarray or false otherwise.

A good subarray is a subarray where:

  • its length is at least two, and
  • the sum of the elements of the subarray is a multiple of k.

Note that:

  • A subarray is a contiguous part of the array.
  • An integer x is a multiple of k if there exists an integer n such that x = n * k. 0 is always a multiple of k.

Example 1:

  • Input: nums = [23,2,4,6,7], k = 6
  • Output: true
  • Explanation: [2, 4] is a continuous subarray of size 2 whose elements sum up to 6.

Example 2:

  • Input: nums = [23,2,6,4,7], k = 6
  • Output: true
  • Explanation: [23, 2, 6, 4, 7] is an continuous subarray of size 5 whose elements sum up to 42.

42 is a multiple of 6 because 42 = 7 * 6 and 7 is an integer.

Example 3:

  • Input: nums = [23,2,6,4,7], k = 13
  • Output: false

Constraints:

  • 1 <= nums.length <= 105
  • 0 <= nums[i] <= 109
  • 0 <= sum(nums[i]) <= 231 - 1
  • 1 <= k <= 231 - 1

Solution:

class Solution { /** * @param Integer[] $nums * @param Integer $k * @return Boolean */ function checkSubarraySum($nums, $k) { $prefixMod = 0; $modSeen = array(); $modSeen[0] = -1; for ($i = 0; $i < count($nums); $i++) { $prefixMod = ($prefixMod + $nums[$i]) % $k; if (array_key_exists($prefixMod, $modSeen)) { if ($i - $modSeen[$prefixMod] > 1) return 1; } else { $modSeen[$prefixMod] = $i; } } return 0; }
}
Enter fullscreen mode
Exit fullscreen mode

Contact Links


Discover more from Coursity

Subscribe to get the latest posts sent to your email.

Leave a Comment

Your email address will not be published. Required fields are marked *

Discover more from Coursity

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top
This is why our affordable cloud storage services are structured to fit a wide range of financial needs. In other words, port 9000 provides backward compatibility for users who are familiar with using portainer through that port. Wishlist urban safari pet.