
Make Sum Divisible by P (medium)
Problem Statement
Given an array nums containing the positive integers, remove the smallest subarray (maybe empty) from nums such that the sum of the remaining elements is divisible by p. You are not allowed to remove the whole array.
Return the length of the smallest subarray that you need to remove, or -1 if it's not possible.
A subarray is a contiguous sequence of elements in the array.
Examples
Example 1:
- Input:
nums = [5, 9, 7, 8], P = 5 - Expected Output:
1 - Justification: Removing the subarray
[9]results in a new array[5, 7, 8]whose sum is20, which is divisible by5.
Example 2:
- Input:
nums = [6, 4, 3, 2, 7, 6, 2], P = 10 - Expected Output:
0 - Justification: We don't need to remove any element from the array, as the sum of all array elements is divisible by 10.
Example 3:
- Input:
nums = [8, 19, 4, 3], P = 10 - Expected Output:
1 - Justification: By removing the subarray
[4], we get a new array[8, 19, 3]with a sum of30, Which is divisible by 10.
Try it yourself
Try solving this question here:
Python3
Python3
. . . .
.....
.....
.....
Unlock this and all other premium problems.
No code editor for this lesson
This lesson focuses on concepts and theory