Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

130
Vistas
Dada una matriz 2-D que contiene todas las cadenas posibles de letras mayúsculas de longitud k menos una, encuentre la cadena que falta

Dada una matriz bidimensional kx ((26^k)-1) , que contiene todas las cadenas posibles de letras mayúsculas de longitud k , excepto una de ellas. ¿Cómo podemos saber la cadena que falta mientras leemos solo las entradas theta(26^k) de la matriz, y no las entradas theta(kx (26^k))?

Hemos pensado en usar punteros 'k' para todas las columnas 26^k, pero seguirá siendo lo mismo que buscar entradas kx 26^k, también consideramos buscar a[:0], a[:1], a [:2], . . . a[:(26^k)-1] pero sigue siendo lo mismo que buscar valores de kx 26^k, ya que el corte también cuenta como mirar esas entradas.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Aquí hay una manera de hacerlo en una complejidad de tiempo Θ(26^k) usando un espacio O(26^k) adicional.

Veamos primero la intuición:

  1. Cada fila de la matriz tendría (26^k)-1 entradas. En la primera fila, todas las letras tendrían la misma frecuencia excepto una cuya frecuencia sería una menor que las otras 25. Esta letra sería la primera letra de nuestra cadena faltante.
  2. Ahora que ya conocemos la primera letra de nuestra cadena que falta, entonces, para la segunda fila, no necesitamos mirar todas las entradas y, en su lugar, podemos mirar solo las 26^(k-1) - 1 columnas para las cuales el valor correspondiente de la primera fila era la letra que faltaba (pero ahora, para saber qué columnas buscar, necesitaríamos almacenar esas columnas en otro lugar usando espacio adicional). Y solo tendríamos que buscar en 26^(k-1) - 1 entradas en la segunda fila.
  3. Para una fila dada, podemos contar la frecuencia de las letras en las entradas dadas en la O(no. of entries) y el espacio constante (26 letras). Una vez que conocemos la letra que falta en una fila dada, podemos revisar la fila nuevamente y almacenar índices de todas las columnas para las cuales la letra es la letra que falta y almacenar esos índices en una matriz separada usando el espacio adicional O(26^(k-1-i)) para ith fila.
  4. En las filas subsiguientes, solo visitamos las columnas que se mantienen en la matriz de nuestra fila anterior que contiene índices de columnas para las que la letra era la letra que faltaba. por ejemplo, para la tercera fila, podemos prescindir de mirar solo 26^(k-2) - 1 entradas para los índices que almacenamos en nuestra matriz cuando miramos la segunda fila.

Así que el número total. de las entradas que tendríamos que mirar en cada fila (después de resumir la serie geométrica) serían:

 sum{(26 - 1), (26^2 - 1), (26^3 - 1) ... (26^k -1)} = (26*(1 - (26^k))/(1-26) - k

que es Θ(26^k) complejidad de tiempo y espacio.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda