//定义一个Solution类 class Solution { public: //定义一个方法search,接收一个int类型的vector和一个int类型的目标值,返回一个int类型的索引值 int search(vector& nums, int target) { //初始化左右指针 int left = 0, right = nums.size() - 1; //当左指针小于等于右指针时,进行循环 while(left <= right){ //计算中间值 int mid = (right - left) / 2 + left; //获取中间值对应的数字 int num = nums[mid]; //如果中间值等于目标值,返回中间值的索引 if (num == target) { return mid; //如果中间值大于目标值,将右指针移动到中间值的左边 } else if (num > target) { right = mid - 1; //如果中间值小于目标值,将左指针移动到中间值的右边 } else { left = mid + 1; } } //如果循环结束仍未找到目标值,返回-1 return -1; } }

对下面代码进行逐条注释:class Solution public int searchvectorint& nums int target int left = 0 right = numssize - 1; whileleft = right int mid = right - left 2 + left; in

原文地址: http://www.cveoy.top/t/topic/fmoU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录