Задача 05.Bomb Numbers от "List - Exercises"
В Judge ми дава 80/100 и не мога да разбера каде ми е грешката / проблема
Ето го кода ми : http://pastebin.com/9VVgc8b2
В Judge ми дава 80/100 и не мога да разбера каде ми е грешката / проблема
Ето го кода ми : http://pastebin.com/9VVgc8b2
Алгоритъмът ти изпуска някои гранични случаи. Например, за редицата [3, 3, 4, 5, 6, 7, 3], след първата итерация, списъкът изглежда по следния начин
[4, 5, 6, 7, 3]
и понеже използваш проверка от която няма смисъл (в случай, че алгоритъмът работи коректно), а именно
if (number != BombPower[0])
сумата погрешно е пресметната със стойност 22 вместо 15 (защото, след като "взривим" и последната тройка, трябва да останат само 4, 5, и 6). Трябва да се убедиш, че в списъка няма да остане нито една "бомба" докато преминаваш през него. В това решение съм използвал while цикъл наред с Contains() за да проверявам дали в списъка не е останала "бомба", и ако е, започвам отново с изчислението на отделните индекси, като се използват и ограничения за да не се отзовем извън рамките на списъка.
В примера [3, 3, 4, 5, 6, 7, 3] немога да исмизля коя е бомбата за да останем с [4, 5, 6] моля те подсети ме
Ставаше дума за следния вход
При този вход, алгоритъмът успешно ще се справи с първите бомби в списъка; но забележи, че след това сумата ще бъде 22, защото когато сумираш елементите, изрично изключваш номера на бомбата, която не е "детонирана".
Ок мерси за помоща
А и нещо последно , защо имаш накрая Console.ReadKey ?
Използвам sharpdeveloper# и, за разлика от VS, конзолния прозорец не се задържа на екрана, за това ползвам този "kludge". Не е свързано конкретно с тази или някоя от другите задачи, в решенията на които също не съм изтривал реда с ReadKey() след публикуване на кода в pastebin.