2369.Check if There is a Valid Partition For The Array
===
###### tags: `Medium` `Array` `DP`
[2369. Check if There is a Valid Partition For The Array](https://leetcode.com/problems/check-if-there-is-a-valid-partition-for-the-array/)
### 題目描述
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:
1. The subarray consists of **exactly** `2` equal elements. For example, the subarray `[2,2]` is good.
1. The subarray consists of **exactly** `3` equal elements. For example, the subarray `[4,4,4]` is good.
1. 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`.
### 範例
**Example 1:**
```
Input: nums = [4,4,4,5,6]
Output: true
Explanation: The array can be partitioned into the subarrays [4,4] and [4,5,6].
This partition is valid, so we return true.
```
**Example 2:**
```
Input: nums = [1,1,1,2]
Output: false
Explanation: There is no valid partition for this array.
```
**Constraints**:
* 2 <= `nums.length` <= 10^5^
* 1 <= `nums[i]` <= 10^6^
### 解答
### Reference
[回到題目列表](https://marsgoat.github.io/XNnote/coding/leetcodeEveryDay.html)