题目描述 思路 动态规划 根据数对的第一个数排序所有数对,dp[i] 存储以 pairs[i] 结尾的最长数对链的长度。 dp 数组长度为 n,并全部初始化为1。以 pairs[i] 结尾的数对链最短都为1。 当 j < i,(i 就是pairs[i] 的索引,j 是 i 前面的所有数对的索引) ,依次比较 pairs[j][1] 与 pairs[i][0] ,当 pairs[j][1] < pairs[i][0] 时, 扩展数对链,更新 dp[i] = max(dp[i], dp[j] + 1)。 需要借助 max 取出 dp数组中最大的数,即就是 n 对数对中最长数对链的长度。 代码