I found an interesting problem on https://leetcode.com/problems/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:

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

I tried it in Python, but could not do it. Can you solve it?
import operator
 class Solution:
     def findLongestChain(self, pairs):
         """
         :type pairs: List[List[int]]
         :rtype: int
         """
         pairs.sort(key=operator.itemgetter(1, 0))
         maxNum = -float('inf')
         ret = 0
         for pair in pairs:
             if pair[0] > maxNum:
                 maxNum = pair[1]
                 ret += 1
         return ret