题解 | #旋转数组的最小数字#
旋转数组的最小数字
https://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba
import java.util.ArrayList;
public class Solution {
public int minNumberInRotateArray(int [] arr) {
if (arr == null || arr.length < 1) {
return 0;
}
int n = arr.length;
int left = 0;
int right = n - 1;
while (left < right) {
int mid = left + (right - left) / 2;
if (arr[mid] > arr[right]) {
left = mid + 1;
} else if (arr[mid] < arr[right]) {
right = mid;
} else {
right--;
}
}
return arr[left];
}
}

查看14道真题和解析