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

03. Rage Quit

http://pastebin.com/VHaLDRy3

дава ми 90/100 и гърми само в 1 тест, в който броят на уникалните символи е грешен, а принтираният резултат верен.

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

Не мога да разбера защо е така

Тагове:
0
Programming Fundamentals 22/02/2017 18:59:38
NonaG avatar NonaG 111 Точки

Да, в това видео е обяснено, че ако някой символ с повтаряемост нула пъти /т.е. с 0 след него/ влиза в едната колекция с уникалните символи, а не влиза в резултатната колекция, която се печата накрая. Затова трябва резултатната колекция трябва да се отсее с Disinct и да се печата нейната дължина. /във видеото е обяснено към 1:55:00/. Сърдечно благодаря, stanchev1!

1
TanyaZheleva avatar TanyaZheleva 354 Точки

Интересно ми е защо, когато е с count = output.ToString().Distinct().Count(); дава 100/100. Но когато използвам HashSet<T> за уникалните символи гърми точно този тест...Някакви идеи?

http://pastebin.com/e2UBPza9 -> 100/100

http://pastebin.com/u0exZz1i -> 90/100

 

0
varbanov88 avatar varbanov88 38 Точки

нямам идея... и аз това се чудя! 

0
MVladimir avatar MVladimir 11 Точки

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

Относно проблема който и мен ме споходи реших да задълбая и да разбера Защо ?? Така в условието никъде не разбрах, че уникален символ е този който е на изхода на задачата, а не на входа. Тъй като ако имаме поредица от символи и след тях число 0 означава, че тази поредица ще се печата на изхода точно НУЛА пъти. Именно тук е уловката! Броят се само уникалните символи на изхода на задачата!

 

4
RuNNeR4142 avatar RuNNeR4142 396 Точки
Java с  HashSet<Character>
int times = Integer.parseInt(matcher.group(2));
if (times > 0) { ала бала }  решава проблема 100%

 

Благодаря на всички!

0