You are given an array of
A pair
Return the length longest chain which can be formed.
You do not need to use up all the given intervals. You can select pairs in any order.
Example 1:
Input: pairs = [[1,2],[2,3],[3,4]] Output: 2 Explanation: The longest chain is [1,2] -> [3,4].
Example 2:
Input: pairs = [[1,2],[7,8],[4,5]] Output: 3 Explanation: The longest chain is [1,2] -> [4,5] -> [7,8].
Constraints:
n == pairs.length 1 <= n <= 1000 -1000 <= lefti < righti <= 1000
Solution
這題和 300. Longest Increasing Subsequence 不同在於
pair 在原本 list 裡面的順序沒有關係,最後的答案只是要找最長的 chain
所以這邊的想法是,先對結束時間做排序,然後歷遍檢查有沒有重疊
kotlin
沒有留言:
張貼留言