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