题解 | #数字在升序数组中出现的次数#

数字在升序数组中出现的次数

http://www.nowcoder.com/practice/70610bf967994b22bb1c26f9ae901fa2

class Solution:
    def GetNumberOfK(self , data: List[int], k: int) -> int:
        # write code here
        first = self.GetFirstK(data, k)
        last = self.GetLastK(data, k)
        
        return last - first 
    # 找到左边界
    def GetFirstK(self, data, k):
        left = 0
        right = len(data)
        while left < right:
            mid = (left + right) // 2
            if data[mid] >= k:
                right = mid
            else:
                left = mid + 1
        return left
    #找到右边界
    def GetLastK(self, data, k):
        left = 0
        right = len(data)
        while left < right:
            mid = (left + right) // 2
            if data[mid] > k:
                right = mid
            else:
                left = mid + 1
        return left
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:11
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务