题解 | #二分查找-I#
二分查找-I
https://www.nowcoder.com/practice/d3df40bd23594118b57554129cadf47b
方法思想:根据二分法,设置首指针和尾指针,中间指针mid=L+((R-L)>>1),以及二分法最大遍历次数log2(总个数),来获取你要找的值的位置 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @param target int整型 * @return int整型 */ int search(vector<int>& nums, int target) { int n=nums.size(); int L=0; int R=n-1; for(int i=0;i<=log2(n);i++) { int mid=L+((R-L)>>1); if(nums[mid]>target) { R=mid; } else if(nums[mid]<target) { L=mid+1; } else { return mid; } } return -1; } };