Loading...
kriskok95 avatar kriskok95 2 Точки

5. * Array Manipulator от упражнението за листове

Здравейте колеги, решавах въпросната задача 5. * Array Manipulator от домашното за листове, но ми гърмят няколко теста и ми дава 58 точки в "Judge", всички примерни тестове от условието минават и не мога да разбера къде греша. Ще се радвам ако някой ми каже къде греша. Ето и кода: https://pastebin.com/ZPKj3JLc .Благодаря предватително!

Тагове:
1
Fundamentals Module
ElenaSei avatar ElenaSei 11 Точки

На команда shift следва да завъртиш цикъл. Защото така правиш само едно завъртане. А има случай, в които може да се наложи да завъртиш няколко пъти.

1
kriskok95 avatar kriskok95 2 Точки

Благодаря, не знам как съм го пропуснал.. Сега ми гърми само втория тест.. https://pastebin.com/vZcmRatu 

0
willystyle avatar willystyle 2472 Точки

Когато използваш помощни променливи се убеди, че си ги занулил. Например в началото инициализираш листа addMany, при някоя команда го използваш, но на следващата команда пак го използваш като добавяш към старото съдържание, затова декларирай и инициализирай преди да ползваш отново, или след като си го използвал. За съжаление обаче имаш още грешки, които в момента не забелязвам, търси и успех.

0
ZhPetkov avatar ZhPetkov 45 Точки

При "contains", ако това число го имаш в листа му принтираш индекса. Обаче има вариант  да го няма, тогава трябва да принтираш -1.

При addMany, може да използваш List.InsertRange.

0
kriskok95 avatar kriskok95 2 Точки

Аз съм използвал "Index of", той не върши ли същата работа? А при Add many използвам List.InsertRange.

 

0
05/06/2018 21:10:56
AlexTasev avatar AlexTasev 65 Точки

Същото се получава и при мен. Judge дава "Runtime error" на 5 от тестовете и точно 58 точки. Продължавам да я мъча...

Съветвам те, след като няма грешки в 0-вите тестове да си направиш собствен тест, който проверява всички 7 команди една по една и да пуснеш в дебъг като на ръка си определиш какво се получава след всяка манипулация.

0
06/06/2018 18:00:58
AlexTasev avatar AlexTasev 65 Точки

След часове дебъгване стигнах до 91 точки и се отказвам тук някъде. Ето го най- доброто ми решение, дано ти помогне да се ориентираш, ако пропускаш нещо: 

https://pastebin.com/0x2We1D6

Направих си тест, който да проверява всички манипулации една по една, можеш да сравниш междинните резултати с дебъгера. Така хванах доста неща:
 

вход

1 2 3 4 5

add 0 9

addMany 2 6 7

8

contains 2

remove 2

shift 2

sumPairs

print

изход

1 2 3 4 5

9 1 2 3 4 5

9 1 6 7 8 2 3 4

5

5

9 1 7 8 2 3 4 5

7 8 2 3 4 5 9 1

15 5 9 10

[15, 5, 9, 10]

 

0
06/06/2018 19:20:57
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.