Skip to main content

有序数组中出现次数超过-25-的元素

:::

题目

给你一个非递减的有序整数数组, 已知这个数组中恰好有一个整数, 它的出现次数超过数组元素总数的 25%.

请你找到并返回这个整数.

提示:
  • 1 <= arr.length <= 10⁴
  • 0 <= arr[i] <= 10⁵
示例

输入: arr = [1,2,2,6,6,6,6,7,10] 输出: 6

题解

/**
* @param {number[]} arr
* @return {number}
*/
var findSpecialInteger = function (arr) {
const k = (arr.length / 4) | 0
for (let i = 0; i < arr.length; i++) {
if (arr[i] === arr[i + k]) return arr[i]
}
}