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

ForceBook 90 точки! Java

Последният тест гърми.Търсих, но така и ненамерих грешката.Все пак мисля ,че е при "->" тази проверка ..

Ще се радвам ако някой може да помогне !

Код: https://pastebin.com/mgE8X5Ha

Тагове:
0
Fundamentals Module
Vl.Metodiev avatar Vl.Metodiev 45 Точки
Best Answer

Здравей колега

 

Опитах се да проследя решението ти, но се омотах тотално в него. Създал си много списъци и си извършил много действия, които не са необходими. Това което направих е, запазвайки логиката на твоето решение, да съкратя значително написаният код. Тествах новото решение - минава в Judge с 100/100. По-долу ще обясня подробно какво съм променил или съкратил. Ако това те устройва добре, ако ли не, някой по-умел от мен ще трябва да ти отговори, какво точно се "чупи" в твоето решение.

 

Това е оптимизираният от мен код:

https://pastebin.com/wK5sCxSD

 

Така, първо промених мапът от HashMap на TreeMap, защото в него ключовете са сортирани. Съществените промени, които направих са в switch - конструкцията. Използвам цикъл, за да премина през мапът и да проверя дали името на дадения играч съществува. В case "|" просто отбелязвам true (ако съществува), в case "->" директно премахвам името. След което и в двата кейса изпалзвам if - else if конструкция, за да проверя дали съответната страна съществува, ако не съществува добавям страната в ключовете, и създавам нов new ArrayList<>(), който съответства на този ключ, и в който ще се съхраняват имената. След това просто добавям име. Мисля, че оптимизираният код ще ти свърши работа.

 

Успех!

0
11/11/2019 00:16:43
Val3ntinV avatar Val3ntinV 9 Точки

Благодаря за помощта !! Прав си за решението , че е малко уплетено , но в момента ги свиквам тези масиви , че попринцип са си труднички !!

0