<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script>
const arr1 = [2, 5, 3, 2, 0, 1, 2, 0, 0, 5, 8, 7, 1, 12, 0, 16, 0, 0, 0, 9, 7, 0, 0, 0, 0]
const arr2 = [2, 5, 3, 2, 0, 1, 2, 0, 0, 5]
const arr3 = [32, 5, 3, 2, 10, 1, 2, 0, 0, 0, 0, 5, 10, 2, 5, 0, 0, 0, 0, 0, 5, 0]
const arr4 = [1, 2, 3, 4, 5]
const arr5 = [1, 2, 3, 4, 0]
function fn(arr) {
const length = arr.length
let list = []
for (let i = 0; i < length; i++) {
list.push(0)
}
let index = 0
for (let i = 1; i < length; i++) {
const x = arr[i - 1]
const y = arr[i]
const z = x - y
// console.log(z)
if (z === 0) {
list[index] += 1
}
if (z !== 0) {
if (list[index] === 0 && index === 0) {
list[index++] = z > 0 ? -z : z
} else if (list[index] > 0) {
list[++index] = z > 0 ? -z : z
index++
} else {
list[index++] = z > 0 ? -z : z
}
}
}
const filteredList = list.filter(function (value, index, array) {
// console.log(value)
return value >= 1
})
const finalList = filteredList.map(function (value, index, array) {
return value + 1
})
// console.log(finalList)
// const maxNumber = Math.max.apply(null, finalList)
// return maxNumber
let total = 0
if (finalList.toString() !== '') {
total = Math.max.apply(null, finalList)
}
return total
}
const value1 = fn(arr1)
const value2 = fn(arr2)
const value3 = fn(arr3)
const value4 = fn(arr4)
const value5 = fn(arr5)
console.log(`连续出现 0 最多的次数为 ${value1}`)
console.log(`连续出现 0 最多的次数为 ${value2}`)
console.log(`连续出现 0 最多的次数为 ${value3}`)
console.log(`连续出现 0 最多的次数为 ${value4}`)
console.log(`连续出现 0 最多的次数为 ${value5}`)
</script>
</body>
</html>
image.png
https://codepen.io/MonguDykrai/pen/PxayoO
网友评论