在 JavaScript 中查找最长的连续连接
问题
我们需要编写 JavaScript 函数,该函数将数组 arr 作为第一个也是唯一参数,其中包含成对的数字。在每对数字中,第一个数字始终小于第二个数字。
现在,我们定义一对 (c, d),它可以后跟另一对 (a, b),当且仅当 b < c 时。对的链可以用这种方式形成。我们的函数应该找到可以形成的最长链。
例如,如果输入函数为
输入
const arr = [ [1, 2], [2, 3], [3, 4] ];
输出
const output = 2;
输出说明
最长链为 [1,2] -> [3,4]
示例
以下是代码 −
const arr = [ [1, 2], [2, 3], [3, 4] ]; const findLongestChain = (arr = []) => { arr.sort(([, b], [, d]) => b - d) let currentEnd = arr[0][1] let count = 1 for (const [start, end] of arr) { if (start > currentEnd) { count += 1 currentEnd = end } } return count } console.log(findLongestChain(arr));
输出
2
广告