-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathBinarySearch.java
35 lines (27 loc) · 1.03 KB
/
BinarySearch.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("------- Binary Search -------");
System.out.print("How many Arrays do you want: ");
int num = scan.nextInt();
int[] intArray = new int[num];
System.out.print("Input your " + num + " Numbers: ");
for (int i = 0; i < num; i++) {
intArray[i] = scan.nextInt();
}
System.out.print("Which Number do you want to search: ");
int key = scan.nextInt();
System.out.println(binarySearch(intArray, key));
}
public static int binarySearch(int[] array, int value) {
int start = 0, end = array.length - 1;
while (start <= end) {
int mid = (start + end) / 2;
if (array[mid] == value) return mid;
else if (array[mid] < value) start = mid + 1;
else end = mid - 1;
}
return -1;
}
}