Skip to content

1287. Element Appearing More Than 25% In Sorted Array

Difficulty Topics

Description

Given an integer array sorted in non-decreasing order, there is exactly one integer in the array that occurs more than 25% of the time, return that integer.

 

Example 1:

Input: arr = [1,2,2,6,6,6,6,7,10]
Output: 6

Example 2:

Input: arr = [1,1]
Output: 1

 

Constraints:

  • 1 <= arr.length <= 104
  • 0 <= arr[i] <= 105

Solution

element-appearing-more-than-25-in-sorted-array.py
class Solution:
    def findSpecialInteger(self, arr: List[int]) -> int:
        n = len(arr)
        m = len(arr) // 4

        for i in range(n-m+1):
            if arr[i] == arr[i+m]:
                return arr[i]