Para probar la oferta de seguridad - Número de dígitos que aparece en la matriz

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

 

Publicado 82 artículos originales · ganado elogios 2 · Vistas 4355

Supongo que te gusta

Origin blog.csdn.net/qq_22498427/article/details/104815793
Recomendado
Clasificación