C# Rotate List Arrays

Здравейте,

Някой има ли решение на задачата “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, понеже ще гръмне за памет.

Успех :slight_smile:

Благодаря за насоката, но все още ми е трудно да открия решение.

Здравей, ако погледнем условието:

  • On the second line you will receive N - означава, че ще трябва да направим едно и също нещо N на брой пъти (най вероятно ще трябва да използваме някакъв цикъл).

Ще ти подскажа още малко - в увсловието има уловка, това е че N може да е по голямо от броя на елементите в листа/стринг или да примем следния пример:
List -> 1, 2, 3, 4, 5
N = 2000 или 200000000000000
В този кейс няма да трябва да правим нищо, понеже ще завършим със същият лист с които сме започнали.
С други думи, ще трябва да изпълним условието (N % броя на елементите) пъти.

За самото местене, много зависи какво използваш - List/Array/String/StringBuilder или нещо друго.

Успех