思路
初始化连续出现最多的元素maxItem是null,次数num是1,num存最开始每个元素出现次数,连续相等元素最多的次数max是1,循环数组如果数组当前项和下一项相等就把num+1 赋值给num,然后判断num 和max谁大,如果num大就把num赋值给max,同时将当前元素赋值给maxItem,如果数组当前项和下一项不相等,重置num为1。
代码实现
let arr = [0,1,1,0,0,1,1,1,0,0,0,0,0,0,2,2,3,3]
function maxYuansu(arr){
let num =1
let max = 1
let maxItem = null
for (let j = 0; j < arr.length; j++) {
if(arr[j]===arr[j+1]){
num= num+1
if(max<num) {
max = num
maxItem = arr[j]
}
}else {
num = 1
}
}
return [maxItem,max]
}
console.log(maxYuansu(arr))
运行结果
