Binary Search
- Maintain low(inclusive) and high(exclusive) range
 - low<=goal<high
 - Goal = index of value we want
- If its in the array
 - if not, will have low = hi
 
 
Code
1st
low = 0;
high = array.length;
while (low < high){
     int mid = low + (high-low)/2;
     if (mid == target) {return true;}
     if (mid < target) {low = mid+1;}
     if (mid > target) {high = mid;}
}
return false;
2nd
low = 0;
high = array.length-1;
while (low < high){
     int mid = low + (high-low)/2;
     if (mid == target) {return true;}
     if (mid < target) {low = mid+1;}
     if (mid > target) {high = mid-1;}
}
return false;