04. Array Rotation
Здравейте, колеги. Пробвах тази задача, но изкарвам 60/100, идеи как да я поправя?
Код: https://pastebin.com/Ae6PgZBt
Здравейте, колеги. Пробвах тази задача, но изкарвам 60/100, идеи как да я поправя?
Код: https://pastebin.com/Ae6PgZBt
Здравей,
Сравнително лесна задача:
string word = Console.ReadLine();
int n = int.Parse(Console.ReadLine());
string[] nums = word.Split(' ');
for (int j = 0; j < n; j++)
{
var temp = nums[0];
for (var i = 0; i < nums.Length - 1; i++)
{
nums[i] = nums[i + 1];
}
nums[nums.Length - 1] = temp;
}
Console.WriteLine("{0}", string.Join(" ", nums));
Според мен, в горния код не е нужно стринга "word" да се конвертира в "int". Тук работим само със символи и никой не ни иска числа. Така е по-добре:
using System;
using System.Linq;
using System.Collections.Generic;
namespace ListManipulationAdvanced
{
class Program
{
public static void Main()
{
var arr = Console.ReadLine().Split().ToArray();
int n = int.Parse(Console.ReadLine());
for (int j = 0; j < n; j++)
{
var end = arr[0];
for (var i = 0; i < arr.Length - 1; i++)
{
arr[i] = arr[i + 1];
}
arr[arr.Length - 1] = end;
}
Console.WriteLine(string.Join(" ", arr));
}
}
}
Къде тук видя конвертиране към int?Като гледам и двете решения са еднакви.
Да, няма конвертиране към int. Явно когато съм писал коментара съм имал предвид задачата, която peter_arsov е публикувал.
Но и друго ме интересува. Решението задължително ли трябва да е с масив? Опитах с List и стана много лесно и бързо. Джъджа го прие без проблем и даде 100/100:
static void Main(string[] args)
{
List<string> list = Console.ReadLine().Split().ToList();
int n = int.Parse(Console.ReadLine());
for (int i = 0; i < n; i++)
{
list.Add(list[0]);
list.Remove(list[0]);
}
Console.WriteLine(string.Join(" ", list));
}
Да, няма конвертиране. Явно имал съм предвид примера в началото на https://pastebin.com/Ae6PgZBt