首页 > 其他 > 详细

646. Maximum Length of Pair Chain 对链最大长度

时间:2018-01-20 00:09:29      阅读:244      评论:0      收藏:0      [点我收藏+]

 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)






646. Maximum Length of Pair Chain 对链最大长度

原文:https://www.cnblogs.com/xiejunzhao/p/8319172.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!