最初的想法是用二分法找到第一个等于k的索引,然后分别向左和向右找相同的元素来确定左边界和右边界但是如果左边和右边的相同的元素特别多的话,就还要遍历很多次于是想到再用两次二分法分别求出左边界和右边界整体时间复杂度为O(logn) # -*- coding:utf-8 -*- class Solution: def GetNumberOfK(self, data, k): def get_first(data,l,r,k): while l<=r: mid=l+(r-l)//2 i...