Compression de séquence par décalage circulaire
TypeScript
Medium
loops
Tâche «Compression de séquence par décalage circulaire»
Étant donné une séquence d'entiers. Il faut trouver la longueur minimale de la chaîne compressée obtenue par décalage circulaire de la séquence originale, puis par compression des nombres identiques consécutifs au format 'nombre quantité'. Par exemple, la séquence [1,1,2,2,2] après compression devient '1 2 2 3'. Le décalage circulaire signifie que nous pouvons déplacer plusieurs premiers éléments à la fin. Il faut parcourir tous les décalages possibles (de 0 à n-1), effectuer la compression et trouver la longueur minimale de la chaîne obtenue (en caractères, espaces inclus). Si les longueurs sont égales, choisir le décalage avec le plus petit numéro. Contraintes : n ≤ 100, nombres de 0 à 100.
Format d\ entrée
La première ligne contient un entier n (1 ≤ n ≤ 100) — le nombre de valeurs. La deuxième ligne contient n entiers, séparés par des espaces.
Format de sortie
Affichez deux nombres : le numéro du décalage (à partir de 0) et la longueur minimale de la chaîne compressée, séparés par un espace.
Exemples
Exemple 1
ENTRÉE
3
1 2 3
SORTIE
0 11
Exemple 2
ENTRÉE
4
1 1 1 1
SORTIE
0 3
Exemple 3
ENTRÉE
6 3
1 -2 3 4 -5 6
SORTIE
0 25
main.ts