Solución

@michaell-alavedra·21/6/2026TypeScript
solution.tsTypeScript
export function compressToRanges(numbers: number[]): string {
  const ranges = [];
  let rangesIndex = 0;
  let preNum = undefined;

  for (const num of numbers) {
    if (preNum === undefined) {
      ranges[rangesIndex] = [num];
    } else {
      if (num - preNum === 1) {
        ranges[rangesIndex] = [...(ranges[rangesIndex] || []), num];
      } else {
        rangesIndex++;
        ranges[rangesIndex] = [num];
      }
    }

    preNum = num;
  }

  return ranges.map(arr => Array.from(new Set([arr.at(0), arr.at(-1)])).join('-')).join();
}
0respuestas
Respuestas

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.