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

234
Vistas
Si hago [a,b]=[b,a], ¿estoy modificando la matriz en el lugar con la memoria O(1)?

Supongamos que me dieron una serie de cadenas de caracteres,

como ['f', 'r', 'i', 'e', 'n', 'd'] , y mi tarea es invertirlo en ['d', 'n', 'e', 'i', 'r', 'f'] .

Escribí el siguiente JavaScript

 var reverseString = function(s) { let h=0; let t= s.length-1; while (h<t) { [s[h], s[t]] = [s[t], s[h]]; h++; t--; } };

Entonces, el truco que sigo usando en el ciclo while es [a,b]=[b,a] .

¿Qué tan eficiente es esto en términos de complejidad espacial? ¿Hay una mejor manera de escribir esto en JS? Gracias

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

0

Uso de un literal de matriz y una asignación de desestructuración de matriz

 [s[h], s[t]] = [s[t], s[h]];

es exactamente tan eficiente en espacio y tiempo como el uso de variables temporales

 const a = s[t], b = s[h]; s[h] = a; s[t] = b;

pero probablemente un poco más lento en la ejecución real debido a toda la sobrecarga, al menos hasta que el compilador optimice la creación de la matriz.

De cualquier manera, su método reverseString es O(n) (siendo n s.length ) y en realidad no funciona para cadenas sino solo para matrices.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Su implementación es n/2 ya que está recorriendo la mitad de la lista. Aunque su ciclo es 1/2n, aumenta de forma lineal a medida que aumenta el tamaño de la lista. Por lo tanto, su implementación es O(n)

La respuesta a la forma más eficiente de revertir una lista en javascript: ¿Cuál es la forma más eficiente de revertir una matriz en Javascript?

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