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

Dãy con giảm dần dài nhất trong JavaScript


Cần viết hàm JavaScript nhận mảng số nguyên. Hàm trả về độ dài của dãy con giảm dần dài nhất từ mảng.

Ví dụ - Nếu mảng đầu vào là:

const arr = [5, 2, 5, 4, 3, 2, 4, 6, 7];

Đầu ra nên là:

const output = 4;

vì dãy con giảm dần dài nhất (các từ liên tiếp) là [5, 4, 3, 2].

Ví dụ

const arr = [5, 2, 5, 4, 3, 2, 4, 6, 7]; 
const decreasingSequence = (arr = []) => { 
    let longest = []; 
    let curr = []; 
    const setDefault = (newItem) => { 
        if (curr.length > longest.length) { longest = curr; } 
        curr = [newItem]; 
    }; 
    for (const item of arr) { 
        if (curr.length && item > curr[curr.length - 1]) { 
            setDefault(item); 
        } else { 
            curr.push(item); 
        } 
    } 
    setDefault(); 
    return longest.length; 
}; 
console.log(decreasingSequence(arr));

Kết quả

Điều này sẽ tạo ra đầu ra sau:

4