Trình tự núi
Chúng tôi gọi bất kỳ mảng con (tiếp giáp) nào (của arr) là một ngọn núi nếu các thuộc tính sau giữ -
-
sub.length> =3
-
Tồn tại một số 0 B [i + 1]> ...> sub [sub.length - 1]
Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng số, arr, làm đối số đầu tiên và duy nhất.
Hàm của chúng ta phải trả về độ dài của dãy con núi lớn nhất hiện diện trong mảng arr, nếu có tồn tại bất kỳ, nếu không thì là 0.
Ví dụ:nếu đầu vào của hàm là
Đầu vào
const arr = [3, 2, 5, 8, 4, 3, 6];
Đầu ra
const output = 5;
Giải thích đầu ra
Bởi vì mảng con mong muốn là -
[2, 5, 8, 4, 3]
Ví dụ
Sau đây là mã -
const arr = [3, 2, 5, 8, 4, 3, 6]; const mountainLength = (arr = []) => { let max = 0 for(let left = 0; left < arr.length; left++) { let right = left while(arr[right] < arr[right + 1]) { right++ } const top = right while(right > left && arr[right] > arr[right + 1]) { right++ } if(right > top && top > left) { max = Math.max(max, right - left + 1) left = right left-- } } return max } console.log(mountainLength(arr));
Đầu ra
5