如何在 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