Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm mảng con dài nhất gồm các số liên tiếp bằng vòng lặp while trong JavaScript

Chúng tôi bắt buộc phải viết một hàm với câu lệnh while xác định độ dài của mảng con lớn nhất liên tiếp trong một mảng các số nguyên dương.

Ví dụ -

Nếu mảng đầu vào là -

const input = [6, 7, 8, 6, 12, 1, 2, 3, 4] --> [1,2,3,4]

Sau đó, kết quả đầu ra phải là -

4

Nếu mảng đầu vào là -

const input = [5, 6, 1, 8, 9, 7] --> [8,9]

Sau đó, kết quả đầu ra phải là -

2

Do đó, hãy viết mã cho chức năng này -

Ví dụ

const arr = [6, 7, 8, 6, 12, 1, 2, 3, 4];
const arr1 = [5, 6, 1, 8, 9, 7];
const findLongestSub = arr => {
   let count = 1, len = 0, max = 1;
   while(len < arr.length){
      if(arr[len] === arr[len - 1] + 1){
         count++;
         if(max < count){
            max = count;
         }
         }else{
            count = 1;
      };
      len++;
   };
   return max;
};
console.log(findLongestSub(arr));
console.log(findLongestSub(arr1));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

4
2