Binary Search
- Given a sorted array, find any/first/last element in the array
- Time complexity T(n) = T(n/2) + O(1) = T(n/4) + O(1) + O(1) = T(n/8) + O(1) + O(1) + O(1) = ….. = O(logn) - How to implement binary search?
- use while loop 
- What’s the condition in while loop? start + 1 < end (vary important) 
- How to calculate mid point? mid = start + Math.floor((end - start)/2);