Fixed Point

给一个数组, 求第一个ary[i] = i的位置.

二叉搜索. 需要一直往左搜, 直到最后一个位置.

class Solution {
    public int fixedPoint(int[] A) {
        int start = 0;
        int end = A.length - 1;
        int res = -1;
        while (start <= end) {
            int mid = start + (end - start) / 2;
            if(A[mid] == mid){
                res = mid;// instead of return, record the res and move end to mid - 1;
                end = mid - 1;
            }
            else if(A[mid] < mid) {
                start = mid + 1;
            }
            else {
                end = mid - 1;
            }
        }
        return res;
    }
}