659.Split-Array-into-Consecutive-Subsequences

659. Split Array into Consecutive Subsequences

题目地址

https://leetcode.com/problems/split-array-into-consecutive-subsequences/

题目描述

Given an array nums sorted in ascending order, return true if and only if you can split it into 1 or more subsequences such that each subsequence consists of consecutive integers and has length at least 3.

Example 1:
Input: [1,2,3,3,4,5]
Output: True
Explanation:
You can split them into two consecutive subsequences : 
1, 2, 3
3, 4, 5

Example 2:
Input: [1,2,3,3,4,4,5,5]
Output: True
Explanation:
You can split them into two consecutive subsequences : 
1, 2, 3, 4, 5
3, 4, 5

Example 3:
Input: [1,2,3,4,4,5]
Output: False

Constraints:
1 <= nums.length <= 10000

代码

Appraoch #2 Greedy Fréquence HashMap

Approach #2 Greedy

Say we have a count of each number, and let tails[x] be the number of chains ending right before x.

Time: O(N) && Space: O(N)

Approach #1 Opening and Closing Events

Time: O(N) && Space: O(N)

Last updated

Was this helpful?