Python:数字在排序数组中出现的次数

来源:互联网 发布:淘宝手机壳销量 编辑:程序博客网 时间:2024/06/07 07:33


牛客网上的剑指 offer的在线编程:

题目描述

统计一个数字在排序数组中出现的次数。
# -*- coding:utf-8 -*-'''数字在排序数组中出现的次数题目描述统计一个数字在排序数组中出现的次数。'''class Solution:# 方法一:    def GetNumberOfK1(self, data, k):        # write code here        if len(data) == 0:            return 0        else:            return data.count(k)# 方法二:    def GetNumberOfK(self, data, k):        # write code here        if len(data) == 0:            return 0        else:            count, mid = 0, len(data) // 2            if k > data[mid]:                for i in range(mid + 1, len(data)):                    if data[i] == k:                        count += 1                return count            elif k < data[mid]:                for i in range(mid - 1, -1, -1):                    if data[i] == k:                        count += 1                return count            else:                count += 1                for i in range(mid - 1, -1, -1):                    if data[i] == k:                        count += 1                    else:                        break                for i in range(mid + 1, len(data)):                    if data[i] == k:                        count += 1                    else:                        break                return count


原创粉丝点击