Solución

@crisemavargas20_60580a61·27/10/2026TypeScript
solution.tsTypeScript
export function compressToRanges(numbers: number[]): string {
  if (numbers.length === 0) return "";
  if (numbers.length === 1) return numbers[0]!.toString();

  let accToRanges: Array<string> = [];
  let prev: number = numbers[0]!;
  let start = prev;

  for (let i = 1; i < numbers.length; i++) {
    const current = numbers[i];
    if (current != prev + 1) {
      accToRanges.push(formatRange(start, prev));
      start = current!;
    }
    prev = current!;
  }
  accToRanges.push(formatRange(start, prev));

  return accToRanges.join(",");
}

function formatRange(start: number, end: number): string {
  return start === end ? `${start}` : `${start}-${end}`;
}
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.