646.maximum-length-of-pair-chain.go 422 B

1234567891011121314151617181920
  1. type array [][]int
  2. func (a array) Len() int { return len(a) }
  3. func (a array) Less(i, j int) bool { return a[i][1] < a[j][1] }
  4. func (a array) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
  5. func findLongestChain(pairs [][]int) int {
  6. if len(pairs) == 0 {
  7. return 0
  8. }
  9. sort.Sort(array(pairs))
  10. pre, cnt := pairs[0][1], 1
  11. for _, p := range pairs {
  12. if pre < p[0] {
  13. pre = p[1]
  14. cnt++
  15. }
  16. }
  17. return cnt
  18. }