0
点赞
收藏
分享

微信扫一扫

搜索插入位置(LeetCode)

kolibreath 2022-04-25 阅读 41

一:问题描述:

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

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

二:思路以及代码:

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

    int i=0,j=0;

    for(i=0;i<numsSize;i++)

    {

        if(nums[0]>target)

        {

            return 0;//如果要查找的数比所有的数都小,那么插在最前面,也就是数组第0的位置

        }

        if(nums[i]<target)

        {

            j=i;//如果在数组中无法找到该数,则要插在比target的数小的后面。因此时刻记录target可能插入的位置。

        }

        if(nums[i]==target)

        {

            return i;//找到target则返回数组下标

        }

    }

    return j+1;//没有找到则返回target应该插入的位置,即j+1.

}

三:测试结果:

 

 

 

举报

相关推荐

0 条评论