Loading...
kasskata avatar kasskata 492 Точки

[Exam Problems] КПК - Примерен изпит "Phonebook" девети тест

Добре, реших задачата, рефакторирах колкото мога повече, перформанса ми се вдигна много( 0.955 s), но 9тия тест ми гърми за памет(53.71 MB). А по-странното е, че 10тия е 26000 реда и не гърми,
а 9тия тест е 18000 реда и гърми.

Има ли някой, който се е преборил с този проблем с паметта, за да ми помогне. Ако Влади ми отговори (или някой от SoftUni)ще съм му благодарен. 

4
C# OOP Advanced 15/01/2015 11:18:16
ZvetanIG avatar ZvetanIG 907 Точки

Сравнително лесно постигнах 100.  Пренаписах си само мейн класа, като махнах рекурсията и  използвах switch.  Cmd метода го разбих на  3 три отделни метода за всяка команда.  Това е основното, което направих и задачата тръгна с 50 точки в джъджа.  5 теста гърмяха за време.  

Смених репозиторито с по-сложното, Това с многото речници и тем подобниlaughing (явно е по-бързото) и всичко заспа.

По принцип имайте предвид, че рекурсиите гълтат памет.  Съветвам ви да я махнете.

3
15/01/2015 15:46:06
kasskata avatar kasskata 492 Точки

и аз съм направил същото за другите 50 като теб, но продължава да гърми на предпоследния 

тест. Не мога да разбера кое го препълва толкова. мисля да го преработя да работи само с един сортСет

 

0
petrovaliev95 avatar petrovaliev95 358 Точки

Пробвах вече няма смисъл. Гърми за време ...

П.С. Аз немога да разбера сега защо да трием променливи и да се чудим от къде да спестим памет. Нали е КПК, нали трябва да пишем по качествен и самодокументиращ се код. За мен не е яко да виждам в кода си примерно "params[0]".

0
15/01/2015 16:59:18
arsoman avatar arsoman 419 Точки

Здравей, може ли да кажеш кое с кое смени, защото от 2 часа все ми дава 50/100 заради време 3 сек.? Благодаря!

0
petrovaliev95 avatar petrovaliev95 358 Точки

Първото, което може да оптимизираш, е да смениш репозиторито с по-бързото (това с външните dictionary-та). След това виж какво ще даде джъджа и почни да мислиш от къде може да идва. Не забравяй, че всичко е написано така за да ни е гадно. :D

1
17/01/2015 10:50:27
ZvetanIG avatar ZvetanIG 907 Точки

Това е решението ми: http://dox.bg/files/dw?a=37455cbbc1 

Работи за 100 точки, но със сигурност има какво да се пипне.

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