public static int binarySearch(int[] nums, int left, int right, int target){ if (left>right){ //没有查找到 return -1; } int mid =( left+right)/2;//找区间中间值 if (nums[mid]>target){ return binarySearch(nums,left,mid-1,target);//找左区间 }else if (nums[mid]<target){ return binarySearch(nums,mid+1,right,target);//找右区间 }else { return mid; //找到 } }
时间: 2024-04-26 20:25:20 浏览: 38
Python 整数数据类型详解(int)[学习 Python 必备基础知识][看此一篇就够了]
这是一个二分查找算法的Java实现,它的基本思想是将已经排序的数组分成两部分,通过比较目标值和中间值,不断缩小查找范围,最终找到目标值。具体来说,这个算法通过递归调用自身来实现二分查找,它的输入参数包括一个已排序的数组nums、查找范围的左右边界left和right,以及要查找的目标值target。在每一次递归中,算法会找到区间的中间值mid,然后与目标值进行比较。如果mid大于目标值,则说明目标值可能在左侧区间,于是递归调用自身来查找左侧区间;如果mid小于目标值,则说明目标值可能在右侧区间,于是递归调用自身来查找右侧区间;如果mid等于目标值,则说明已经找到目标值,直接返回mid即可。如果没有查找到,最终返回-1。
阅读全文