35.搜索插入位置(二分法)

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 O(log n) 的算法。


35.搜索插入位置(二分法)_第1张图片

 int searchInsert(int* nums, int numsSize, int target){

    int low=0,high=numsSize-1,mid;

    if(target>nums[numsSize-1]) return numsSize;\\当数大于最大值时,返回他的长度,当小于最小值时,返回0

    if(target

    while(low<=high)\\循环条件

    {

         mid=(high+low)/2;

        if(nums[mid]>target)

        {

            high=mid-1;

          

        }

        else if(nums[mid]

        {

            low=mid+1;

           

        }

        else

        { 

        return mid; \\中点目标值等于直接返回他的下标

        }

    }

return low;

}

你可能感兴趣的:(leetcode)