如何在 JavaScript 数组中找到并返回最长的重复数字序列
我们需要编写一个 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP