K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
已知升序有序数组nums = [1,2,2,3,4,5],目标值target=2,正确结果应为下标1。以下代码均使用int类型变量,数组下标从0开始计数:
int left = 0, right = nums.length - 1; while(left <= right) { int mid = left + (right - left) / 2; if(nums[mid] >= target) { right = mid - 1; } else { left = mid + 1; } } return left;
int left = 0, right = nums.length - 1; while(left <= right) { int mid = left + (right - left) / 2; if(nums[mid] >= target) { left = mid + 1; } else { right = mid - 1; } } return left;
int left = 0, right = nums.length - 1; while(left < right) { int mid = left + (right - left) / 2; if(nums[mid] >= target) { right = mid; } else { left = mid + 1; } } return left;
int left = 0, right = nums.length - 1; while(left <= right) { int mid = left + (right - left) / 2; if(nums[mid] < target) { left = mid; } else { right = mid - 1; } } return left;