Chúng ta cần viết hàm JavaScript nhận vào mảng số có thể chứa phần tử lặp lại. Hàm trả về độ dài của chuỗi số lặp lại liên tiếp 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];
Kết quả là 3 vì số 2 lặp lại 3 lần liên tiếp (và đó là số lớn 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));Kết quả
Kết quả in ra console:
3