Tous les défis
Facile 0 résolus 0 % de réussite

Rotation d’un tableau

Faites pivoter une liste vers la droite d’un certain nombre de positions.

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

Exemple 1
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].

Exemple 2
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.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.