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

89
Vistas
Encuentre el punto más estable de dos matrices paralelamente

Tengo dos matrices.

 let arr1 = [32, 35, 25, 37, 40, 45, 42, 46, 44, 45, 49, 50]; let arr2 = [46, 55, 55, 56, 57, 64, 70, 71, 78, 85, 86, 97];

Ahora quiero un índice "estable" de ambas matrices. como ¿cuál es el índice cuando ambas matrices son más estatales?

Por ejemplo, de la matriz dada que quiero.

 let index = 8 // this is what i want

Índice 8 significa desde arr1 el ist "44" y desde arr2 "78"

Permítanme definir lo que quiero decir con stable aquí.

Al menos la diferencia entre el elemento anterior y el elemento posterior es la menor de ambas matrices. (Perdón por mi mala explicación.)

No marque esta pregunta, solo comente lo que necesita saber, intentaré explicarlo. [Por favor]

Según lo recomendado por @Nina Scholz

Esto es lo que probé hasta ahora [no funciona]

 let arr1 = [32, 35, 25, 37, 40, 45, 42, 46, 44, 45, 49, 50]; let arr2 = [46, 55, 55, 56, 57, 64, 70, 71, 78, 85, 86, 97]; let diff_arr1 = [] let diff_arr2 = [] let compare_arr = [] for (let i = 0; i < arr1.length; i++) { diff_arr1.push(Math.abs(arr1[i + 1] - arr1[i])); } for (let i = 0; i < arr2.length; i++) { diff_arr2.push(Math.abs(arr2[i + 1] - arr2[i])); } for (let i = 0; i < 12; i++) { compare_arr.push(Math.abs(diff_arr2[i] - diff_arr1[i])); } console.log("Array 1") console.log("Array 1 diff"); console.log(diff_arr1); console.log("Array 2") console.log("Array 2 diff"); console.log(diff_arr2); console.log('compare_arr') console.log(compare_arr) let arr_temp = compare_arr.filter(function (value) { return !Number.isNaN(value); }); console.log(Math.min.apply(Math, arr_temp));
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede tomar el delta del valor anterior con el valor actual y actual y el siguiente y luego tomar este delta para obtener un delta mínimo de ambos deltas.

El resultado es diferente al deseado, ya que toma el delta mínimo de ambos arreglos.

 v 32, 35, 25, 37, 40, 45, 42, 46, 44, 45, 49, 50 NaN 13 22 15 8 8 7 6 3 5 5 NaN 46, 55, 55, 56, 57, 64, 70, 71, 78, 85, 86, 97 NaN 9 1 2 8 13 7 8 14 8 12 NaN 

 const getDelta = (array, offset) => array .map((v, i, a) => Math.abs(v - array[i - 1]) + Math.abs(v - array[i + 1])), array1 = [32, 35, 25, 37, 40, 45, 42, 46, 44, 45, 49, 50], array2 = [46, 55, 55, 56, 57, 64, 70, 71, 78, 85, 86, 97], delta1 = getDelta(array1, 2), delta2 = getDelta(array2, 2), result = [...array1.keys()] .slice(1, -1) .reduce((a, b) => Math.abs(delta1[a] - delta2[a]) < Math.abs(delta1[b] - delta2[b]) ? a : b ); console.log(result); console.log(...delta1.map(v => v.toString().padStart(2, ' '))); console.log(...delta2.map(v => v.toString().padStart(2, ' ')));

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