Solución

@kappa_cat·6/5/2026TypeScript
solution.tsTypeScript
export function countOccurrences(nums: number[], target: number): number {
  
  function firstOccurrence(value: number): number {
    let left = 0
    let right = nums.length

    while (left < right) {
      const mid = Math.floor((left + right) / 2)

      if (nums[mid] < value) left = mid + 1
      else right = mid
    }

    return left
  }

  const first = firstOccurrence(target)
  const last = firstOccurrence(target + 1)

  return first < nums.length && nums[first] === target 
    ? last - first 
    : 0
}
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.