LeetCodehot100-34. 在排序数组中查找元素的第一个和最后一个位置
2026/4/17 14:51:24 网站建设 项目流程
class Solution { public: int search(vector<int>& nums, int target){//>= int left=0,right=nums.size()-1; while(left<=right){ int mid=left+(right-left)/2; if(nums[mid]<target) left=mid+1; else right=mid-1; } return left; }//[0, left-1] 中的所有元素都 < target //[right+1, n-1] 中的所有元素都 >= target //结束时 left = right + 1 vector<int> searchRange(vector<int>& nums, int target) { int start=search(nums,target); if(start==nums.size()||nums[start]!=target) return {-1,-1}; int end=search(nums,target+1)-1;//第一个 >= target+1 的位置,必然等于第一个 > target 的位置, //这个位置的前一个位置,就是最后一个 == target 的位置 return {start,end}; } };

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询