Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

AtillaOmer avatar AtillaOmer 13 Точки

09. Maximum Element

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

знам че има такава тема, но гледам че са стари и няма активност. Та става въпрос за последните два теста както е известно на повечето хора. Само че, проблема във времето или аз не го правя както трябва. Help-че: това е моят код: https://pastebin.com/HUKK276R

Тагове:
0
Java Advanced
MartinBG avatar MartinBG 4803 Точки

Принтирането в конзолата е много бавна операция. Опитай със StringBuilder за запазване на текущите резултати и го изпринтирай наведнъж в края на програмата.

0
Quake3 avatar Quake3 546 Точки

Без StringBuilder: Използвано време: 0.041 s, със StringBuilder: Използвано време: 0.046 s :)

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

не ти трябва stringbuilder това че ти е бавен алгоритъма идва от 2та стака с които се опитваш да я решиш, без условието ми е трудно да се ориентирам защо ги правиш тея неща.но добавяш в единия после в другия проверяваш с peek и тн.. и това те забавя. отзад като се завъртят тея сортиращи и проверяващи алгоритми цикли.

Stringbuilder-a дава разлика само ако е някакво дълго сортиране подреждане и тн..за едно печатне на число няма как да даде разлика.И не е чак толкова бавна операция вярно че java e малко сбъркан език ама писането на конзолата не е чак много бавна операция....

0
AtillaOmer avatar AtillaOmer 13 Точки

Задачата е Maximum Element от стекове и опашки. Целта е при идващи команди да се извършват някакви операции съответно например 1 X и трябва да се добави X в стека или опашката 2 за изтриване и 3 да се разпечата макцималният елемент в текущия стек или опашка. 

0
Dimkov41 avatar Dimkov41 9 Точки

Опитах се, минимално да променя кода ти. Принтирането на конзолата е бавна операция, затова добавих StringBuilder. В него добавяш желаните елементи и като свърши цикъла ги принтираш. Смених Scanner-а със BufferedReader, защото работи една идея по-бързо. Въпреки всички тези промени програмата не минаваше на 100/100. Големият проблем идва от това, че използваш Stack<T>, който е леко сбъркан в Java. Най-добрият вариант е да използваш ArrayDeque. С него няма да имаш проблем при използването на Stack и Queue. С тези промени задачата минава на 100%. Надявам се да съм помогнал.

Код - https://pastebin.com/BsWZXvHi

0
22/05/2018 22:05:38
AtillaOmer avatar AtillaOmer 13 Точки

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

0
k.sevov avatar k.sevov 1077 Точки

Пусни го пак, понякога се случва да даде лимит за памет и да мине на следващия път (сега го пуснах кода на колегата и мина без проблеми). 

0
AtillaOmer avatar AtillaOmer 13 Точки

Да днеска по-рано направих малко модификации и мина успешно в коментарите можеш да видиш решението ми. Но в интерес на истината има разлика как сплитваш стринга \\s или \\s+ или " ". И дава различни резултати като време.

0
AtillaOmer avatar AtillaOmer 13 Точки

Та в крайна сметка реших я със StringBuilder и минимално количество извършени операции. :) https://pastebin.com/AHf2v3V0

0
vdjalov avatar vdjalov 13 Точки

Здравейте това е моят код:


https://pastebin.com/ifSwSM61     

 и ми дава 16 точки от 100. На повечето тестове получавам "Icorrect answer " , а според мен кода си е ок. Възможно ли е да е "Judge"?  Ако да някой дали може да ме нсочи към упътване за Judge за да разбирам защо ми отхвърлч решенията ... 

Благодаря 

 

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