[Programming Fundamentals] Lists - 05. Array Manipulator
Здравейте,
Следния код ми гърми на 3 теста в judge (грешки по време на изпълнението). Може ли да ми кажете къде е проблема?
Здравейте,
Следния код ми гърми на 3 теста в judge (грешки по време на изпълнението). Може ли да ми кажете къде е проблема?
имаш 2 грешки в тая задача едната е в sumPairs, другата е в Shift
грешката в Shift e когато листа ти е само от 1 число:
nums.Length == 1
shift 2
Какво става ако се опиташ да изтриеш първото число 2 пъти? Гърми защото след второто завъртане няма какво да трие.
Грешката в sumPairs е , че първо правиш тези който трябва да се изтрият -1 и след това триеш всички отрицателни. Не знам как ти хрумна, но да триеш всички отрицателни може да включи и други числа. Поне да беше nums.RemoveAll(x => x ==-1);
или да си беше измислил някакво произволно число(не че все някога няма да изгърми). Най-лесно можеш да го оправиш ако направиш да трие това число още в цикъла и само да направиш цикъла да върти с едно по малко без да пропуска числото което идва с едно напред:
for (int i = 0; i < nums.Count - 1; i += 2)
{
nums[i] += nums[i + 1];
nums.RemoveAt(i+1);
i = i - 1;
}
Здравей колега.
Сега ще ти кажа къде гърми.
То ти гърми тук case "sumPairs":
Пробвай да направиш проверка с нечетен брой числа. За да го оправиш първо направи проверка и последното което няма другарче просто го добави.
Проблема не е в това.
Пробвах следния тест и изхода е какъвто се очаква.
вход:
1 2 3 4 5
sumPairs
print
изход:
[3, 7, 5]
Благодаря за коментара. Промених това и сега работи за 90/100:
Какво се случва когато shift-a е равен на броя на елементите? Нищо ли не трябва да се мести?
На мен ми излезна 100/100 като ги промених:
https://pastebin.com/85eX2bsx
Благодаря!