Problème
Afficher l’original (anglais)Faites pivoter la liste vers la droite de steps positions : à chaque rotation, le dernier élément passe en tête, répété steps fois.
Implémentez rotate_right(numbers, steps).
Entrée
numbers : La liste d’entiers. steps : Le nombre de positions à faire pivoter.
Sortie
Retournez la liste après rotation.
Contraintes
0 ≤ longueur ≤ 100 000 ; 0 ≤ steps ≤ 10⁹
Exemples
Entrée :
steps = 2
numbers = [1, 2, 3, 4, 5]
Sortie attendue :
expected = [4, 5, 1, 2, 3]
Entrée :
long long steps = 2;
std::vector<long long> numbers = {1, 2, 3, 4, 5};
Sortie attendue :
std::vector<long long> expected = {4, 5, 1, 2, 3};
Entrée :
long steps = 2;
long[] numbers = new long[] {1, 2, 3, 4, 5};
Sortie attendue :
long[] expected = new long[] {4, 5, 1, 2, 3};
Explication
Deux rotations vers la droite : [5, 1, 2, 3, 4], puis [4, 5, 1, 2, 3].
Entrée :
steps = 3
numbers = [1, 2, 3]
Sortie attendue :
expected = [1, 2, 3]
Entrée :
long long steps = 3;
std::vector<long long> numbers = {1, 2, 3};
Sortie attendue :
std::vector<long long> expected = {1, 2, 3};
Entrée :
long steps = 3;
long[] numbers = new long[] {1, 2, 3};
Sortie attendue :
long[] expected = new long[] {1, 2, 3};
Explication
Une rotation d’un nombre égal à la longueur ramène la liste à l’identique : [1, 2, 3].
Références
Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.