在 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

以上是 在 JavaScript 中查找最长的连续连接 的全部内容, 来源链接: utcz.com/z/331777.html

回到顶部