以下代码为原创实例:亲测正确
public class Main {
public static void main(String[] args) {
System.out.println(new Main().halfFind1(6, new int[]{1, 2, 3, 7, 9}));//false
System.out.println(new Main().halfFind2(7, new int[]{1, 2, 3, 7, 9}));//true
System.out.println(new Main().halfFindIndex(8,new int[]{1,2,3,7,9})); // -1
}
/**
* 返回布尔值,是否存在
*
* @param target
* @param array
* @return
*/
private boolean halfFind1(int target, int[] array) {
int head = 0;
int tail = array.length - 1;
int mid;
while (target > array[head] && target < array[tail]) {
if (tail - head == 1) {
ret