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

Cách tìm và trả về chuỗi số lặp lại dài nhất trong mảng bằng JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một mảng Số có thể chứa một số phần tử lặp lại. Hàm sẽ trả về độ dài của dãy số lặp lại dài nhất từ ​​mảng.

Ví dụ -

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

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

Sau đó, đầu ra phải là 3 vì số 2 được lặp lại 3 lần liên tiếp trong mảng (và đó là số cao nhất).

Ví dụ

const arr = [2, 1, 1, 2, 3, 3, 2, 2, 2, 1];
const findLongestSequence = (arr = []) => {
   const res = arr.reduce((acc,val,ind) => {
      if(acc.length && acc[acc.length-1][0] === val){
         acc[acc.length-1].push(val);
      }else{
         acc.push([val]);
      };
      return acc;
   },[]).reduce((acc, val) => {
      return val.length > acc.length ? val : acc;
   }); return res.length;
}
console.log(findLongestSequence(arr));

Đầu ra

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

3