2022/1/7
35. 搜索插入位置
給定一個(gè)排序數(shù)組和一個(gè)目標(biāo)值,在數(shù)組中找到目標(biāo)值,并返回其索引。如果目標(biāo)值不存在于數(shù)組中,返回它將會(huì)被按順序插入的位置。請(qǐng)必須使用時(shí)間復(fù)雜度為 O(log n) 的算法。
int searchInsert(int* nums, int numsSize, int target){int low=0,high=numsSize-1;int mid;if(nums[low]>=target) //考慮目標(biāo)值小于所有數(shù)return 0;while(low<=high){mid=(low+high)/2;mid=(high-low)/2+low; //防止溢出if(nums[mid]==target){return mid;}else if(nums[mid]>target){high=mid-1;}else{low=mid+1;}}if(low>=mid){ //考慮最后一步,是改變了low還是highreturn low;}else{return low+1;} }時(shí)間復(fù)雜度O(logn)
空間復(fù)雜度O(1)
總結(jié)