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

115
Vistas
Encontrar la cadena más larga de índices y valores de elementos de matriz

No puedo resolver un problema. Tenemos una matriz. Si tomamos un valor, su índice significa ID de puerto, y el valor en sí significa la ID de otro puerto al que está conectado. Necesita encontrar el índice de inicio de la conexión secuencial más larga al elemento cuyo valor es -1.

Hice una explicación gráfica para describir el caso de la matriz [2, 2, 1, 5, 3, -1, 4, 5, 2, 3]. En la imagen, la conexión más larga es violeta (3 segmentos).

descripción gráfica

Necesito hacer una solución mediante una función getResult(connections) con un solo argumento. No sé cómo hacerlo, así que decidí devolver otra función con varios argumentos que me permitan hacer una solución recursiva.

 function getResult(connections) { return f(connections.findIndex(e => e === -1), connections, 0, []); } function f(index, cnx, counter, branches) { counter++; for (let i = 0; i < cnx.length; i++) { if (cnx[i] === index) { branches.push([i, counter]); return f(i, cnx, counter, branches); } } return branches.sort((a, b) => b[1] - a[1])[0][0]; } console.log(getResult([1, 2, -1])); // expected 0 console.log(getResult([1, -1, 1, 2])); // expected 3 console.log(getResult([2, 1, -1])); // expected 0 console.log(getResult([3, 4, 1, -1, 3])); // expected 2 console.log(getResult([1, 0, -1, 2])); // expected 3 console.log(getResult([3, 2, 1, -1])); // expected 0 console.log(getResult([2, 2, 1, 5, 3, -1, 4, 5, 2, 3])); // expected 6

De todos modos, el código no funciona completamente correctamente. ¿Podría explicar mis errores? ¿Es posible resolver el problema mediante una función con solo un argumento original?

over 4 years ago · Santiago Trujillo
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