if (left > right) return -1; int mid =left + (right - left) / 2; if (targetNum > arr[mid]){ return getNumByBinarySearch(arr,mid+1,right,targetNum); } else if (targetNum == arr[mid]) { return mid; } else{ return getNumByBinarySearch(arr,left,mid-1,targetNum);}
时间: 2023-02-07 11:21:29 浏览: 57
js left,right,mid函数
如果左边的数字大于右边的数字,那么返回-1。
定义一个变量mid,等于左边的数字加上(右边的数字减去左边的数字)除以2。
如果目标数字大于数组的中间值,那么递归调用该函数,并将mid加1作为左边的数字,right作为右边的数字,targetNum作为目标数字。
如果目标数字等于数组的中间值,那么返回mid。
否则,递归调用该函数,并将left作为左边的数字,mid减1作为右边的数字,targetNum作为目标数字。
阅读全文