@@ -0,0 +1,543 @@
+import java.util.*;%0A%0Apublic class BinarySearch %7B%0A  public static void main(String%5B%5D args) %7B%0A    int%5B%5D arr = %7B1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11%7D;%0A    System.out.println(find(arr, 6) + %22 should be %22 + 5);%0A  %7D%0A%0A  public static int find(int%5B%5D arr, int val) %7B%0A    int lo = 0;%0A    int hi = arr.length - 1;%0A    for (;;) %7B%0A      if (hi == lo) return -1;%0A      int mid = lo + (hi - lo) / 2;%0A      int v = arr%5Bmid%5D;%0A      if (val == v) return mid;%0A      if (val %3E v) %7B%0A        lo = mid;%0A      %7D else if (val %3C v) %7B%0A        hi = mid;%0A      %7D%0A    %7D%0A  %7D%0A%7D%0A

Add binary search