public int maxLength(Pair[] arr){
        Arrays.sort(arr);
        
        int T[] = new int[arr.length+1];
        for(int i=0; i < T.length; i++){
            T[i] = 1;
        }
        for(int i=2; i < T.length; i++){
            for(int j=1; j < i; j++){
                if(arr[j-1].b < arr[i-1].a){
                    T[i] = Math.max(T[j] + 1, T[i]);
                }
            }
        }
        
        int max =0 ;
        for(int i=1; i <T.length; i++){
            if(max < T[i]){
                max = T[i];
            }
        }
        return max;
    }
http://www.geeksforgeeks.org/dynamic-programming-set-20-maximum-length-chain-of-pairs/
src/com/interview/dynamic/MaximumLengthChainPair.java