Здравейте,
Някой има ли решение на задачата “Rotate List” от тема Масиви?
Трудно ми е да стигна близо до някакво правилно решение.
Rotate List
Write a program that rotates a list several times (the first element becomes last).
-
list = 1,2,3,4,5
and N = 2
-> result = 3,4,5,1,2
Note that N could be larger than the length of the list.
-
list = 1,2,3,4,5
and N = 6
-> result = 2,3,4,5,1
Input
- On the first line you will receive the list of numbers.
- On the second line you will receive
N
Output
- On the only line of output, print the numbers separated by a comma.
Здравей,
Моя съвет е да пробваш да решиш задачата, като използваш String/StringBuilder и използваш ‘,’ за index до който да режеш.
Провери разликата между String и StringBuilder, понеже ще гръмне за памет.
Успех
Благодаря за насоката, но все още ми е трудно да открия решение.
Здравей, ако погледнем условието:
- On the second line you will receive
N
- означава, че ще трябва да направим едно и също нещо N на брой пъти (най вероятно ще трябва да използваме някакъв цикъл).
Ще ти подскажа още малко - в увсловието има уловка, това е че N може да е по голямо от броя на елементите в листа/стринг или да примем следния пример:
List -> 1, 2, 3, 4, 5
N = 2000 или 200000000000000
В този кейс няма да трябва да правим нищо, понеже ще завършим със същият лист с които сме започнали.
С други думи, ще трябва да изпълним условието (N % броя на елементите) пъти.
За самото местене, много зависи какво използваш - List/Array/String/StringBuilder или нещо друго.
Успех