Професионална програма
Loading...
+ Нов въпрос
iliyamar avatar iliyamar 13 Точки

Използвана памет vs допустима (judge)- 14. Array Manipulator от Arrays and Lists - Exercises

Здравейте,
Въпросът ми е не толкова за самото решение на тази хубава задача, колкото за възможна оптимизация по отношение памет/време и то със средствата изучавани до този момент.
В крайна сметка постигнах 100/100, но едвам успях да се вместя в допустимата памет на Judge системата с 15.78Mb при допустими 16.95!

Има ли начин да се използва по-малко памет при реализация със списъци?
Ето и моето решение. 

 http://pastebin.com/kgQha3Sk

Тагове:
1
Programming Fundamentals
bMedarski avatar bMedarski 148 Точки

При мен паметта  която използва е 9,32Mb. Незнам дали ще ти е от полза.

http://pastebin.com/1JgR8Si1

 

0
iliyamar avatar iliyamar 13 Точки

Здравей,
Интересно е, че когато пусна твоето решение Judge дава използвани 16.78MB при разрешени 16.95.
Има две съществени разлики- че още от входа parsv-аш към int, докато аз държа string в list-a възможно най-дълго, защото било по-универсално (имаше подобен съвет в една лекция) .
Втората разлика е тази, че използваш методи, което е много  по-прегледно и четимо, а аз в случая съм заложил на линейно решение, което би трябвало да е по-бързо при голям брой команди. Благодаря за споделеното решение!

0
bMedarski avatar bMedarski 148 Точки

Пробвах и с твоето решение и ми дава 15.79MB. Незнам от къде се получаватази разлика.

0
heilin90 avatar heilin90 69 Точки

Здравейте, колеги!

Някой може ли да ми помогне да разбера, какво изпускам - http://pastebin.com/xdEUkmjU

Дава ми 83 от 100 и дотам, а инъче всички примери излизат както си трябва... :) На тест 7 и 11 не минава (грешка по време на изпълнение).

0
05/10/2016 15:45:56
Maria_ls avatar Maria_ls 383 Точки

И аз да се запиша - имам същия проблем, на същите тестовеfrown Това е моят код
83/100, всички нулеви излизат....

П.П. По метода на изключването се оказа, че проблемът в моя случай идва от метода, който съм измислила за Shift. Като се има предвид, че ти имаш същите грешки по време на изпълнение - може и твоя да е там. Опитай се да изолираш всеки един case и наблюдавай при липсата на кой от тях грешката по време на изпълнение ще се промени на обикновен грешен отговор. Там ти е грешката.

0
05/10/2016 22:20:58
heilin90 avatar heilin90 69 Точки

Ох, след толкова мъки най-накрая даде 100 точки. :) Имах пропуски в Shift и в sumPairs. Благодаря за напътствията! :)

1