Komprimierung einer Sequenz mittels zyklischer Verschiebung
TypeScript
Medium
loops
Aufgabe «Komprimierung einer Sequenz mittels zyklischer Verschiebung»
Gegeben ist eine Folge von ganzen Zahlen. Es ist die minimale Länge der komprimierten Zeichenfolge zu finden, die durch zyklische Verschiebung der ursprünglichen Folge und anschließende Komprimierung aufeinanderfolgender gleicher Zahlen in das Format 'Zahl Anzahl' entsteht. Beispielsweise wird die Folge [1,1,2,2,2] nach der Komprimierung zu '1 2 2 3'. Zyklische Verschiebung bedeutet, dass wir einige erste Elemente an das Ende versetzen können. Es müssen alle möglichen Verschiebungen (von 0 bis n-1) durchlaufen, die Komprimierung durchgeführt und die minimale Länge der resultierenden Zeichenfolge (in Zeichen, einschließlich Leerzeichen) gefunden werden. Bei gleicher Länge ist die Verschiebung mit der kleinsten Nummer zu wählen. Einschränkungen: n ≤ 100, Zahlen von 0 bis 100.
Eingabeformat
Die erste Zeile enthält eine ganze Zahl n (1 ≤ n ≤ 100) — die Anzahl der Zahlen. Die zweite Zeile enthält n ganze Zahlen, getrennt durch Leerzeichen.
Ausgabeformat
Geben Sie zwei Zahlen aus: die Nummer der Verschiebung (ab 0) und die minimale Länge der komprimierten Zeichenfolge, getrennt durch ein Leerzeichen.
Beispiele
Beispiel 1
EINGABE
3
1 2 3
AUSGABE
0 11
Beispiel 2
EINGABE
4
1 1 1 1
AUSGABE
0 3
Beispiel 3
EINGABE
6 3
1 -2 3 4 -5 6
AUSGABE
0 25
main.ts