北京網(wǎng)站外包公司百度一下官網(wǎng)搜索引擎
給定一個排序數(shù)組和一個目標(biāo)值,在數(shù)組中找到目標(biāo)值,并返回其索引。如果目標(biāo)值不存在于數(shù)組中,返回它將會被按順序插入的位置。
請必須使用時間復(fù)雜度為?O(log n)
?的算法。
示例 1:
輸入: nums = [1,3,5,6], target = 5 輸出: 2
示例?2:
輸入: nums = [1,3,5,6], target = 2 輸出: 1
示例 3:
輸入: nums = [1,3,5,6], target = 7 輸出: 4
提示:
1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums
?為?無重復(fù)元素?的?升序?排列數(shù)組-104 <= target <= 104
我的題解
int searchInsert(int* nums, int numsSize, int target)
{int left =0 ;int right = numsSize - 1;int mid =0;while(left <= right){mid =left+(right-left)/2;if(target < nums[mid]){right = mid - 1;}else if(target > nums[mid]){left = mid +1;}else if(target == nums[mid]){return mid;}}return left ;
}