Ir al contenido
Formación en Algoritmos y Programación | Deep Skill
  • Inicio
  • Cursos
  • Mi Aprendizaje
  • Blog
  • Foro
  • 0
  • Iniciar sesión
  • Contáctenos
Formación en Algoritmos y Programación | Deep Skill
  • 0
    • Inicio
    • Cursos
    • Mi Aprendizaje
    • Blog
    • Foro
  • Iniciar sesión
  • Contáctenos
  • Todos los blogs
  • Problemas de Entrevista Técnica (Big Tech)
  • Problema Real de Entrevista (Tesla): Contar recursos limitados bajo restricciones (Maximum Number of Balloons)
  • Problema Real de Entrevista (Tesla): Contar recursos limitados bajo restricciones (Maximum Number of Balloons)

    Estrategia óptima para entrevistas Big Tech
    13 de octubre de 2025 por
    Problema Real de Entrevista (Tesla):
Contar recursos limitados bajo restricciones (Maximum Number of Balloons)
    Deep Skill, Jean Pierre Mandujano
    | Todavía no hay comentarios
    Maximum Number of Balloons — Deep Skill

    Maximum Number of Balloons

    Introducción

    Analizamos un problema representativo de entrevistas técnicas para posiciones de software engineer en grandes tecnológicas: Maximum Number of Balloons. Es un reto clásico para evaluar razonamiento lógico y manipulación eficiente de cadenas (strings). En este artículo lo descomponemos desde cero: enunciado, errores comunes y construcción de la solución óptima paso a paso.

    Enunciado del problema

    Dado un string text, puedes utilizar cada carácter a lo sumo una vez para formar la palabra balloon todas las veces que sea posible. Tu objetivo es determinar cuántas veces puedes formar balloon con las letras presentes en text.

    Ejemplo 1

    Entrada: text = "nlaebolko"

    Salida: 1

    Se puede formar “balloon” una vez.

    Ejemplo 2

    Entrada: text = "loonbalxballpoon"

    Salida: 2

    Se puede formar “balloon” dos veces.

    Ejemplo 3

    Entrada: text = "leetcode"

    Salida: 0

    Faltan varias letras para formar “balloon”.

    Observaciones clave

    Para formar balloon necesitas estas letras y cantidades:

    b × 1 a × 1 l × 2 o × 2 n × 1
    Idea clave: la respuesta es min count('b'), count('a'), count('l') // 2, count('o') // 2, count('n'). Se divide por 2 en l y o porque cada “balloon” usa dos de cada una.

    Paso a paso: solución óptima

    1. Contar frecuencias. Calcula cuántas veces aparece cada letra {b, a, l, o, n}.
    2. Dividir por la cantidad requerida. Para l y o divide entre 2; para b, a, n es entre 1.
    3. Tomar el mínimo. El resultado es el mínimo de esos cocientes.

    Implementación en Python

    from collections import Counter
    
    def maxNumberOfBalloons(text: str) -> int:
        counts = Counter(text)
        return min(
            counts.get('b', 0) // 1,
            counts.get('a', 0) // 1,
            counts.get('l', 0) // 2,
            counts.get('o', 0) // 2,
            counts.get('n', 0) // 1
        )

    Implementación en JavaScript

    function maxNumberOfBalloons(text) {
      const counts = { b: 0, a: 0, l: 0, o: 0, n: 0 };
      for (const ch of text) {
        if (ch in counts) counts[ch]++;
      }
      return Math.min(
        counts.b,
        counts.a,
        Math.floor(counts.l / 2),
        Math.floor(counts.o / 2),
        counts.n
      );
    }

    Complejidad

    • Tiempo: O(n), un recorrido del string.
    • Espacio: O(1), letras acotadas.

    Casos de prueba adicionales

    Entrada Salida Explicación
    "balloonballoon"2Se puede formar exactamente dos veces.
    "bbaallllooooonnn"2Limitan b, a y n.
    ""0Cadena vacía.
    "balon"0Faltan letras repetidas.
    "ballooon"1Sobra una o pero falta una l.
    BENEFICIO EXCLUSIVO

    Obtén un 50% de descuento en tu primera compra de cursos de algoritmos .

    SKILL-ALGO-50


    en Problemas de Entrevista Técnica (Big Tech)
    Iniciar sesión dejar un comentario

    Síganos

    Escríbenos
    [email protected]

    Escríbenos
    [email protected]

    Síganos

    Utilizamos cookies para proporcionarle una mejor experiencia de usuario en este sitio web. Política de cookies

    Solo las necesarias Estoy de acuerdo