Back to basic!Quick SortclassSolution{private:voidrecursive(std::vector&nums;,intleft,intright){if(left>=right){return;}intmid=left+(right-left)/2;intval=nums[mid];std::swap(nums[mid],nums[right]);intlow=left;inthigh=right-1;while(low<=high){if(nums[low]>val){std::swap(nums[low],nums[high--]);}else{++low;}}std::swap(nums[low],nums[right]);recursive(nums,left,low-1);recursive(nums,low+1,right);}public:voidquickSort(std::vector&nums;){recursive(nums,0,nums.size()-1);}};Binary Searchsize_tlowerBound(conststd::vector&nums;,inttarget){size_tleft=0;size_tright=nums.size();while(left= the targetif(nu
...
继续阅读
(16)