Софтуерно Инженерство
Loading...
+ Нов въпрос
ivanmitkoff avatar ivanmitkoff 3 Точки

08. Browser History Upgrade (Stacks & Queues - Lab)

Здрайвейте!

Опитвам се да реша осма задача от лекцията за стекове и опашки, но не мога да стигна до решение, по-добро от 50/100 в Judge. frown
Моля за насоки къде бъркам

Благодаря предварително!

Кодът ми: клик.

Условие:

8. Browser History Upgrade

Extend "Browser History" with a "forward" instruction which visits URLs that were navigated away from by "back". Each forward instruction visits the next most-recent such URL. If a normal navigation happens, all potential forward URLs are removed until a new back instruction is given If the forward instruction can’t be executed, print "no next URLs".

Hints

  • Use the solution from Browser History
  • Use ArrayDequeue<> as queue to keep the forward pages
  • Use clear() method to reset the forward pages
  • Use addFirst() when adding page to the forward pages

Examples

Input

Output

forward

https//softuni.bg/

https//softuni.bg/trainings/courses

back

forward

https//softuni.bg/trainings/2056

back

forward

forward

https//softuni.bg/trainings/courses

Home

no next URLs

https//softuni.bg/

https//softuni.bg/trainings/courses

https//softuni.bg/

https//softuni.bg/trainings/courses

https//softuni.bg/trainings/2056

https//softuni.bg/trainings/courses

https//softuni.bg/trainings/2056

no next URLs

https//softuni.bg/trainings/courses

0
Java Advanced
KeepCoding avatar KeepCoding 540 Точки
Best Answer

Здравей, промених две неща в кода ти линк

Първото е проверката за това колко предмета има в "browserHistory". Проверката "browserHistory.size() < 1" означава при празен history да се изписва съобщението, но ако е точно 1 предмет, то тогава щеше да го махнеш и да направиш "peek" на празна колекция.

Другото е че не при "forward" командата. Представи си случай, в който някой ти наспами командата 100 пъти, когато колекцията не е празна. Ще се изписва първият предмет на колекцията всеки път. Т.е. трябва по някакъв начин да се движат нещата. 

0
ivanmitkoff avatar ivanmitkoff 3 Точки

Благодаря много! :)

0
ucko0o avatar ucko0o 3 Точки

Здравей, давам ти едно мое примерно решение:

https://pastebin.com/cVhMt5cE:

Ще се радвам, ако ти помогне да си намериш грешките.

 

Поздрави.

0
ivanmitkoff avatar ivanmitkoff 3 Точки

Благодаря! :)

0