Make Sum Divisible by P LeetCode solution in Python

1
class Solution:
2
def minSubarray(self, nums: List[int], p: int) -> int:
3
n = len(nums)
4
target = sum(nums) % p
5
if not target:
6
return 0
7
answer = n
8
prefix_sum = 0
9
hashmap = {0: -1}
10
for i, num in enumerate(nums):
11
prefix_sum += num
12
key = (prefix_sum % p - target) % p
13
if key in hashmap:
14
answer = min(answer, i - hashmap[key])
15
hashmap[prefix_sum % p] = i
16
return answer if answer < n else -1

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0