Question
This is returning -1. But it should be returning the number. I am not sure why its doing this can anyone help debug public class
This is returning -1. But it should be returning the number. I am not sure why its doing this can anyone help debug
public class BinarySearch{
public static void main(String args[]) {
int [] list = new int [] {1,3,6,10,15,19, 31, 34};
int target = 15;
System.out.println(binarySearch(list,target));
}
public static int binarySearch(int [] array, int target) {
int first = 0;
int last = array.length - 1;
int middle = 0;
while(last <= first) {
middle = last + (first - last)/2;
if(array[middle] == target) {
return array[middle];
}
if(target < array[middle]) {
last = middle - 1;
}
else {
first = middle + 1;
}
}
return -1;
}
}
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started