Étant donné un entier k et soit un bloc de texte, soit un tableau 2d dont les tableaux internes peuvent avoir des longueurs inégales (qui ressemble à un bloc de texte), faites pivoter chaque caractère ou élément de la k- ème colonne vers le haut ou vers le bas jusqu'à la position suivante qui existe.
Exemple
Faites pivoter la 20e colonne du texte suivant (basé sur 1):
A line with more than k characters.
A longer line with more than k character.
A short line.
Rotate here: ------v--
This is long enough.
This is not enough.
Wrapping around to the first line.
Sortie:
A line with more thtn k characters.
A longer line with aore than k character.
A short line.
Rotate here: ------m--
This is long enoughv
This is not enough.
Wrapping around to .he first line.
La rotation de la k la colonne de la même entrée d'où 35 < k <42 donnerait le texte d'entrée sans changement.
Règles
- Vous pouvez utiliser du texte brut, un tableau de lignes, un tableau 2D de caractères ou tout autre format raisonnable pour représenter les données. Vous pouvez également utiliser des types de données autres que des caractères.
- Le nombre de valeurs possibles du type de données des éléments doit être d'au moins 20 si la longueur de votre code en dépend, sinon au moins 2. Il peut s'agir d'un sous-ensemble de caractères ou d'autres valeurs prises en charge dans le type natif.
- Les espaces et tout type de valeurs nulles ne sont que des valeurs normales, si vous les autorisez en entrée. Vous pouvez également simplement les exclure dans le type d'élément.
- Changement de règle: vous êtes autorisé à remplir les tableaux plus courts avec une valeur par défaut générique (comme les espaces), si vous préférez utiliser des tableaux de longueurs égales pour stocker les données.
- k pourrait être basé sur 0 ou basé sur 1. Il est garanti d'être à l'intérieur de la ligne la plus longue de l'entrée (ce qui implique que l'entrée a au moins une ligne non vide).
- Vous pouvez choisir s'il tourne vers le haut ou vers le bas.
- Soit il suffit de faire pivoter une position, soit de faire pivoter n positions où n est un entier positif donné en entrée.
- Le code le plus court gagne.