如何使用 JavaScript 查找并返回数组中最长的重复数字序列
javascriptweb developmentfront end technologyobject oriented programming
我们需要编写一个 JavaScript 函数,该函数接受一个可能包含一些重复元素的数字数组。该函数应返回数组中最长重复数字序列的长度。
例如 −
如果输入数组是 −
const arr = [2, 1, 1, 2, 3, 3, 2, 2, 2, 1];
那么输出应该是 3,因为数字 2 在数组中连续重复了 3 次(这是最大的数字)。
示例
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));
输出
控制台中的输出将是 −
3