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
}
1respuestas
Respuestas
@diekotto6/7/2026

Bien visto! Yo he hecho dos funciones de búsqueda binaria, una para la primera ocurrencia y otra para la última, tú con una función y dos targets has hecho lo mismo pero con la mitad de código. Qué buena idea, la verdad.

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.