public class FindMin {
public static int findMin(int[] num) {
int L = 0, R = num.length - 1, M;
while (L < R && num[L] >= num[R]) {
M = (L + R) / 2;
if (num[M] > num[R]) {
L = M + 1;
} else if (num[M] < num[L]) {
R = M;
} else {
L = L + 1;
}
}
System.out.println(num[L]);
return num[L];
}
public static void main(String[] args) {
int[] num = {1, 3, 3};
FindMin.findMin(num);
}
}
二分法看待问题&寻找最佳边界条件
有序数组或者有序数组的旋转数组 查找最小值
最新推荐文章于 2023-10-14 23:50:04 发布