剑指offer 53 - 数字在排序数组中出现的次数 - python

66 阅读1分钟

题目描述:

统计一个数字在排序数组中出现的次数

示例 1:

输入: nums = [5,7,7,8,8,10], target = 8
输出: 2

示例 2:

输入: nums = [5,7,7,8,8,10], target = 6
输出: 0

限制:0 <= 数组长度 <= 50000


首先,看给定的数字是否在数组中存在,若不存在直接返回0。否则,使用Counter统计数组中数字和它对应出现的次数,遍历得到的字典,找到key == target对应的value返回即可。

class Solution:
    def search(self, nums: List[int], target: int) -> int:
        if target not in nums or nums == []:
            return 0

        d = Counter(nums)
        for k, v in d.items():
            if k == target:
                return v
        
        return 0