Loading...
felix_de_suza avatar felix_de_suza 100 Точки

[Exam Problems] Java Basics - Magic String from C# Basics Exam

Колеги, уж реших задачката по мой начин (а.к.а най-простия) с 8 вложени цикъла, но в системата за оценяване ми минават само нулевите тестове :( някой ако я е решавал скоро да помогне малко :)

http://pastebin.com/SPJxtmeE 

Тагове:
1
Java Advanced
ttitto avatar ttitto 1153 Точки
Best Answer

Както си го направил няма как да изкараш верни отговори, защото имаш условие да ги печаташ по азбучен ред, а твоята логика ги печата по нарастващ ред на теглото им. Т.е. реда по теглото им е к s n p, а азбучно са k n p s

Просто в нулевите тестове нямаш участие на буква s, която е "ябълката на раздора" и затова излизат верни.

Най-лесно би се справил ако ги набуташ в един TreeSet<String> и после да го отпечаташ накрая. В TreeSet-a ще ти се сортират автоматично по реда по подразбиране за string-ове, който е азбучен ред.

Ако не можеш да се справиш с това ми пиши и ще го направя, но е хубаво да пробваш!

И като цяло избягвай да печаташ много по конзолата, защото е принципно бавна операция. По-добре е да събираш всичко и да печаташ наведнъж

1
Kibork avatar Kibork 87 Точки

Ето брат виш и при мен кво е положението: https://softuni.bg/forum/questions/details/1140

на 5 от тестовете ми дава TimeOut, изкарва ми го на 68%. Също съм полозвал 8 вложени цикъла.

0
felix_de_suza avatar felix_de_suza 100 Точки

Грешката при теб идва от системата, не от кода, при мен ми изкарва, че има грешни тестове :) и не мога да разбера от къде е грешката, защото нямам тестовете да ги пробвам да видя, а гледайки авторското решение е почти същото ...

0
tugaiemin avatar tugaiemin 0 Точки

Здравейте. Реших да не отварям нова тема, въпреки, че тази е стара и се опитвам да реша задачата на C#. В началото и при мен тестовете гърмяха, но след като подредих буквите в масива по азбучен ред успях да стигна 75%. Сега не успявам да разбера защо тестове 12, 13, 14 и 15 гърмят. Опитах да разместя кода по всякакъв начин спрямо авторското решение, без реално да си променям логиката в решението. Бих се радвал, ако успея да разбера от къде идва проблемът. 

http://pastebin.com/Qmag4Ldj

0
dim4o avatar dim4o 288 Точки

Не съм се задълбочавал,  но това на 15-ти ред ми изглежда нередно. Не разбирам защо слагаш едното ограничение за diff. Ако diff=0 нима няма достатъчно примери, че има резултат - kkkkkkkk, pppppppp... Според мен трябва да си го направиш с булева променлива, която да променя стойността си ако е намерен резултат - в if-а на най-вътрешния цикъл. 

0
tugaiemin avatar tugaiemin 0 Точки

След като се наспах и си погледнах кода на свежа глава, видях къде ми е грешката. Не мисля, че if-ът на 15ти ред е излишен, просто бях избързал с това diff < 4. Благодаря. Няколко пъти съм чувал в лекциите, че не трябва да се цикли прекалено дълго върху една задача, камо ли без почивка, и сега се уверих, че е вярно.

0
dim4o avatar dim4o 288 Точки

Точно това <4 имах впредвид - писах, че не разбирам защо слагаш едното ограничение за diff. Иначе и с този if става, но може и без него, а само с булева променлива. Така е по-просто и вероятността от подобни грешки се свежда до минимум.

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