Check if There is a Valid Partition For The Array - Problem
You are given a 0-indexed integer array nums. You have to partition the array into one or more contiguous subarrays.
We call a partition of the array valid if each of the obtained subarrays satisfies one of the following conditions:
- The subarray consists of exactly 2, equal elements. For example, the subarray
[2,2]is good. - The subarray consists of exactly 3, equal elements. For example, the subarray
[4,4,4]is good. - The subarray consists of exactly 3 consecutive increasing elements, that is, the difference between adjacent elements is 1. For example, the subarray
[3,4,5]is good, but the subarray[1,3,5]is not.
Return true if the array has at least one valid partition. Otherwise, return false.
Input & Output
Example 1 — Valid Partition Exists
$
Input:
nums = [4,4,4,5,6]
›
Output:
false
💡 Note:
We can form [4,4,4] (three equal elements) but [5,6] is invalid since 5≠6 (not equal elements). Therefore, no valid partition exists.
Example 2 — Three Equal Elements
$
Input:
nums = [4,4,4]
›
Output:
true
💡 Note:
The entire array [4,4,4] consists of exactly 3 equal elements, which is a valid subarray.
Example 3 — Consecutive Sequence
$
Input:
nums = [1,2,3]
›
Output:
true
💡 Note:
The entire array [1,2,3] consists of exactly 3 consecutive increasing elements (difference of 1 between adjacent elements).
Constraints
- 2 ≤ nums.length ≤ 105
- 1 ≤ nums[i] ≤ 106
Visualization
Tap to expand
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code