Solución

JL@juanluisabreu_4c541ef6
·29/3/2026TypeScript
solution.tsTypeScript
function mergeIntervals(intervals: [number, number][]): [number, number][] {
  //Recorriendo todos los elementos del array
  for(let i = 0; i < intervals.length; i++) 
  {
    //Recorriendo los elementos posterior al elementro del array que esta recorriendo en la iteracción
    for(let k = i+1; k < intervals.length; k++) 
    {
      //Obteniendo el elemento inicial y final del intervalor ejemplo: [1,3] => inicial = 1, final = 3
      let valorInicialActual = intervals[i][0];
      let valorFinalActual = intervals[i][1];
      //Obteniendo el elemento inicial y final del intervalor ejemplo: [2,6] => inicial = 2, final = 6
      let valorInicioPosterior = intervals[k][0];
      let valorFinalPosterior = intervals[k][1];

     //Cuando el valor Final sea mayor al elemento inicial, esto indica que hay solapamiento
      if (valorFinalActual>= valorInicioPosterior) 
      {
          //Cambiando el valor inicial del elemento actual
          intervals[i][0] = valorInicialActual > valorInicioPosterior? valorInicioPosterior: valorInicialActual;
          //Cambiando el valor final del elemento actual
          intervals[i][1] = valorFinalActual > valorFinalPosterior? valorFinalActual: valorFinalPosterior;
          //Eliminando del arreglo de intervalos, el elemento que se acaba de unificar a raiz del solapamiento
          intervals.splice(k,1);
      }
    }
  }

  return intervals;
}

// No modificar: necesario para evaluar el resultado.
export { mergeIntervals };
0respuestas
Respuestas
0

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.
Markdown