我也不知道我是怎么过的?
class Solution {
public int minArray(int[] numbers) {
int len = numbers.length;
int l = 1;
int r = len - 1;
while(l <= r) {
int mid = (l + r) >> 1;
if(numbers[mid] < numbers[mid - 1]) {
return numbers[mid];
}
if(numbers[mid] > numbers[l - 1]) {
l = mid + 1;
} else if(numbers[mid] < numbers[l - 1]){
r = mid - 1;
} else if(numbers[l] < numbers[l - 1]){
return numbers[l];
} else {
l++;
}
}
return numbers[0];
}
}

该博客详细介绍了如何使用二分查找算法在有序数组中查找最小元素。通过示例代码展示了算法流程,包括边界条件处理和不同情况的分支判断。文章强调了算法效率和优化细节。
270

被折叠的 条评论
为什么被折叠?



