1234567891011121314151617181920 |
- type array [][]int
- func (a array) Len() int { return len(a) }
- func (a array) Less(i, j int) bool { return a[i][1] < a[j][1] }
- func (a array) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
- func findLongestChain(pairs [][]int) int {
- if len(pairs) == 0 {
- return 0
- }
- sort.Sort(array(pairs))
- pre, cnt := pairs[0][1], 1
- for _, p := range pairs {
- if pre < p[0] {
- pre = p[1]
- cnt++
- }
- }
- return cnt
- }
|