título Descripción
Contar el número de veces que un número que aparece en la matriz de clasificación.
pensamiento
Dicotomía, respectivamente, y para encontrar el ínfimo supremo en formato digital
# -*- coding:utf-8 -*-
class Solution:
def GetNumberOfK(self, data, k):
if not data:
return 0
i = 0
j = len(data)-1
#找下确界
while i<j:
mid = int((i+j+1)//2)
if data[mid]<k:
i = mid
else: # >=k
j = mid-1
if data[i]==k:
left = i-1
else:
left = i
j = len(data)-1
#上确界
while i<j:
mid = int((i+j)//2)
if data[mid] <=k:
i = mid+1
else: #>k
j = mid
if data[j]==k:
j+=1
if j-left-1<0:
return 0
return j-left-1