leetcode 1287 python

1287. 有序数组中出现次数超过25%的元素


难度 简单 | 标签 数组


Description

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

请你找到并返回这个整数

 

示例:

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

 

提示:

  • 1 <= arr.length <= 10^4
  • 0 <= arr[i] <= 10^5

My Solution

class Solution:
    def findSpecialInteger(self, arr: List[int]) -> int:
        # count 初始值为1
        count = 1
        # 注意数组中只含有一个元素的情况,不会进入循环,所以单独列出
        if len(arr)==1:
            return arr[0]
 
        for i in range(1,len(arr)):
            if arr[i]==arr[i-1]:
                count+=1
            else:
                count=1
            if count > len(arr)//4:
                return arr[i]
posted @ 2021-01-27 21:50  文学是可爱的  阅读(72)  评论(0)    收藏  举报