Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript nhận một mảng các cặp số, arr, làm đối số đầu tiên và duy nhất. Trong mọi cặp, số đầu tiên luôn nhỏ hơn số thứ hai.
Bây giờ, chúng ta xác định một cặp (c, d) có thể theo sau một cặp khác (a, b) nếu và chỉ khi b
Ví dụ:nếu đầu vào của hàm là
Đầu vào
Đầu ra
Giải thích đầu ra
Chuỗi dài nhất là [1,2] -> [3,4]
Sau đây là mã - const arr = [
[1, 2], [2, 3], [3, 4]
];
const output = 2;
Ví dụ
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