Професионална програма
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