underwindfall / Algorithme

练习总结算法的地方
https://qifanyang.com/resume
1 stars 0 forks source link

LCOF11 #381

Open underwindfall opened 2 years ago

underwindfall commented 2 years ago
// time O(logN)
    // space O(n)
    public int minArray(int[] numbers) {
        // left, right
        int left = 0, right = numbers.length - 1;
        while (left < right) {
            int mid = (right - left) / 2 + left;
            if (numbers[mid] > numbers[right]) {
                left = mid + 1;
            } else if (numbers[mid] < numbers[right]) {
                right = mid;
            } else {
                right--;
            }
        }
        return numbers[left];
    }