题目描述
Input:
nums = 1, 2, 3, 3, 3, 3, 4, 6
K = 3
Output:
4
解题思路
class Solution:
def GetNumberOfK(self, data, k):
# write code here
return data.count(k)
找到数字K的左边界 找到数字K+1的左边界
class Solution:
def GetNumberOfK(self, data, k):
# write code here
def binarySearch(data,k):
l = 0
r = len(data)
# [l,r)
while l<r:
m = l+(r-l)//2
if data[m]>=k:
r=m
else:
l=m+1
return l
first = binarySearch(data,k)
last = binarySearch(data,k+1)
return last-first if first<last else 0
class Solution:
def GetNumberOfK(self, data, k):
# write code here
def binarySearch(data,k):
l = 0
r = len(data)-1
# [l,r]
while l<=r:
m = l+(r-l)//2
if data[m]>=k:
r=m-1
else:
l=m+1
return l
first = binarySearch(data,k)
last = binarySearch(data,k+1)
return last-first if first<last else 0