[Homework] Java Collections март 2016
Здравейте колеги качвам моето домашно тук цък .Приемам всякакви съвети за оптимизация и критики.Извинявам се че не мога да ви отговарям на коментарите които ми пишете но да работиш и учиш е много кофти.
Здравейте колеги качвам моето домашно тук цък .Приемам всякакви съвети за оптимизация и критики.Извинявам се че не мога да ви отговарям на коментарите които ми пишете но да работиш и учиш е много кофти.
Implement Recursive Binary Search
Още на пръв поглед можем да видим, че output на четвъртия input е грешен.
Тук е моята логика - http://pastebin.com/YwdjKSGr
Вие как мислите?
Донякъде си прав - в самото условие никъде не се казва че трябва да се посочи най-малкия индекс на който даденото се намира, а само да се посочи на коя позици се намира, независимо дали числото се среща повече от 1 път.
Здравей office_kanev тъкмо разгледах решението на 2ра задача. Установих, че не работи коректно. Може по чиста случайност да дава верни отговори на примерните тестове.
Аз пробвах с вход: hi yes yes bye yes bye hi
Output:
hi
yes yes
bye
yes
bye
hi
Грешката идва от това, че проверяваш само дали 2 съседни елемента са еднакви. Надявам се, че съм бил полезен.
С този вход, това което си получил е очакваният изход. Входът който даваш има само 1 поредица от еднакви стрингове
hi yes yes bye yes bye hi. Самата идея е да се провери дали настоящият елемент е еднакъв с предния, ако е еднакъв го отпечатва и добавя празно място, ако не е еднакъв слага нов ред и тогава го отпечатва .
Мале ужас. До сега си блъсках главата за да изкарвам всички срещания на всеки елемент от масива.Все пак успях, но било безполезно :). Така е като не чета внимателно условието. Мерси за пояснението.
В такъв случай за да не е капо колегата office_kanev с моят явен грешен коментар нека го посъветвам правилно.
Колега вместо да правиш излишни според мен маневри ето един по-добър според мен вариант на твоята задача.
Твоя вариант:
Подобрен вариант:
По този начин спестяваме памет и време (което не е критично за задачата).
Също така използвам concat(" ") вместо arr[i] + " " което е по бавна операция според лектора ми от Basics нивото.
Между другото това scan.close(); ме озадачи в първия момент, тъй като аз лично никога не го затварям.Но ми беше полезно да го видя и предполагам вече ще го затварям и аз.
Това за какво ти е?
На последния пример на 2-ра задача мята Exeption заради този код.