[Homework]AdvancedC# - Arrays, Lists, etc.. Problem 9. Stuck numbers
Пуснах задачата в Джъджа, но ми гърми на пети тест. Сравних с данните, които трябва да се получат и единствената разлика, която открих е че две от стойностите са с разменени места при мен. По условие реда им не е важен, това така ли е наистина?
Ако я реша с for цикли може и да се получи не знам, но след като разбрах че не може лесно да итерираш foreach цикли, в които променяш колекцията, се заинатих да си я направя както искам, така че не се възмущавайте от подхода :)
Здравей, за да решиш проблема с времето е по-удачно да използваш StringBuilder вместо да конкатенираш стрингове.
Конкретно за 5ти тест, в края на подавания стринг има един whitespace, който бърка работата. При сплитването трябва да използваш:
string[] numbers = input.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
Няма нужда чак пък от стрингбилдър - конкатенират се 2-3 неща, които после ще трябва да се чистят.
Проблема ти е, че изобщо парсваш числата и после им викаш tostring, дръж си ги като стрингове и времето ще мине. За интервала вече каза колегата, може и да се тримне.
Примерно http://pastebin.com/eJ4dcXgY
Да, явно наистина няма нужда да парсвам числата. Благодаря ви за помоща!
ПС: А от къде се появява този whitespace на пети тест?