一个二分法的通用模板

xiaoxiao2025-10-17  12

时间复杂度O(logn),避免死循环。

class Solution { public: int search(vector<int>& nums, int target) { int s=0,e=nums.size()-1,mid=0; while(s+1<e) { mid=s+(e-s)/2; if(nums[mid]==target) return mid;//若是查找第一个:e=mid;若查找最后一个:s=mid; else if(nums[mid]<target) s=mid; else e=mid; } if(nums[s]==target) return s; if(nums[e]==target) return e; return -1; } };
转载请注明原文地址: https://www.6miu.com/read-5038075.html

最新回复(0)