Java Collections [Homework] - Problem 11* Implement Recursive Binary Search
Здравейте,
Въпросът ми е за последния тест:
Търси се: 4
В поредицата: 4 4 4 4 4 8 8 8
Ако използвам Binary Search не трябва ли да ми върне 3, а не 0. Binary Search започва винаги в средата. В поредицита последния индекс ми е 7. Значи 7 / 2 = 3. След това проверявам дали третия елемент ми е 4 и Binary Search приключва, защото третия елемент е именно 4. Поне аз така разбирам условието:
"Basically, it goes to the middle element and checks it has to continue searching to the left, or to the right."
Въпросът ми е, защо задачата при тази поредица и това търсено число кава, че Output-a e 0, а не 3. В смисъл 4 го има пет пъти в поредицата 4 4 4 4 4 8 8 8. Защо трябва да върне 0, а не индекса на числото в средата, при положение, че Binary Search според условието трябва да започва в среадата, което ще рече, че веднага намира числото 4:
"Basically, it goes to the middle element and checks it has to continue searching to the left, or to the right." - отивам в средата, намирам 4 и приключвам. Никъде не пише: you need to find the first instance of the number.
Извинявай не съм прочел внимателно въпроса.
Според мен е грешка в теста, няма как да върне 0 в този случай, според мен
И аз така си мисля...