Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm chuỗi liên tiếp dài nhất trong JavaScript

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một mảng các cặp số arr làm đối số duy nhất. Trong mỗi cặp, số đầu tiên luôn nhỏ hơn số thứ hai.

Chúng ta định nghĩa cặp (c, d) có thể theo sau cặp (a, b) nếu và chỉ nếu b < c. Chuỗi các cặp có thể được hình thành theo cách này. Hàm phải tìm độ dài chuỗi dài nhất có thể tạo thành.

Ví dụ, nếu đầu vào của hàm là:

Đầu vào

const arr = [ [1, 2], [2, 3], [3, 4] ];

Đầu ra

const output = 2;

Giải thích đầu ra

Chuỗi dài nhất là [1,2] -> [3,4].

Ví dụ

Dưới đây là mã:

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));

Đầu ra

2