Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    659 - Split Array into Consecutive Subsequences\.

    Medium

    You are given an integer array nums that is sorted in non-decreasing order.

    Determine if it is possible to split nums into one or more subsequences such that both of the following conditions are true:

    • Each subsequence is a consecutive increasing sequence (i.e. each integer is exactly one more than the previous integer).

    • All subsequences have a length of 3 or more.

    Return true if you can split nums according to the above conditions, or false otherwise.

    A subsequence of an array is a new array that is formed from the original array by deleting some (can be none) of the elements without disturbing the relative positions of the remaining elements. (i.e., [1,3,5] is a subsequence of <code><ins>1</ins>,2,<ins>3</ins>,4,<ins>5</ins></code> while [1,3,2] is not).

    Example 1:

    Input: nums = 1,2,3,3,4,5

    Output: true

    Explanation: nums can be split into the following subsequences:

    **<ins>1</ins>** , **<ins>2</ins>** , **<ins>3</ins>** ,3,4,5 --> 1, 2, 3

    [1,2,3, **3** , **4** , **5** ] --> 3, 4, 5

    Example 2:

    Input: nums = 1,2,3,3,4,4,5,5

    Output: true

    Explanation: nums can be split into the following subsequences:

    **<ins>1</ins>** , **<ins>2</ins>** , **<ins>3</ins>** ,3, **<ins>4</ins>** ,4, **<ins>5</ins>** ,5 --> 1, 2, 3, 4, 5

    1,2,3, **<ins>3</ins>** ,4, **<ins>4</ins>** ,5, **<ins>5</ins>** --> 3, 4, 5

    Example 3:

    Input: nums = 1,2,3,4,4,5

    Output: false

    Explanation: It is impossible to split nums into consecutive increasing subsequences of length 3 or more.

    Constraints:

    • <code>1 <= nums.length <= 10<sup>4</sup></code>

    • -1000 &lt;= nums[i] &lt;= 1000

    • nums is sorted in non-decreasing order.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Boolean isPossible(IntArray nums)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait