zoukankan      html  css  js  c++  java
  • 646. Maximum Length of Pair Chain 对链最大长度

     You are given n pairs of numbers. In every pair, the first number is always smaller than the second number.

    Now, we define a pair (c, d) can follow another pair (a, b) if and only if b < c. Chain of pairs can be formed in this fashion.

    Given a set of pairs, find the length longest chain which can be formed. You needn't use up all the given pairs. You can select pairs in any order.

    Example 1:

    Input: [[1,2], [2,3], [3,4]]
    Output: 2
    Explanation: The longest chain is [1,2] -> [3,4]
    

    Note:

    1. The number of given pairs will be in the range [1, 1000].

    1. class Solution:
    2. def findLongestChain(self, pairs):
    3. """
    4. :type pairs: List[List[int]]
    5. :rtype: int
    6. """
    7. res = 0
    8. sortedPairs = sorted(pairs, key=lambda x: (x[0], x[1]))
    9. pre = -2147483648
    10. for pair in sortedPairs:
    11. if pre < pair[0]:
    12. res += 1
    13. pre = pair[1]
    14. elif pair[1] < pre:
    15. pre = pair[1]
    16. return res
    17. #pairs = [[1, 2], [2, 3], [5, 2], [3, 4], [3, 10]]
    18. pairs = [[-6, 9], [1, 6], [8, 10], [-1, 4], [-6, -2], [-9, 8], [-5, 3], [0, 3]]
    19. s = Solution()
    20. res = s.findLongestChain(pairs)
    21. print(res)






  • 相关阅读:
    PTA L1-002 打印沙漏 (20分)
    音乐研究
    LeetCode 155. 最小栈
    LeetCode 13. 罗马数字转整数
    LeetCode 69. x 的平方根
    LeetCode 572. 另一个树的子树
    errno错误号含义
    僵尸进程和孤儿进程
    TCP和UDP相关概念
    图相关算法
  • 原文地址:https://www.cnblogs.com/xiejunzhao/p/8319172.html
Copyright © 2011-2022 走看看