题目:
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
注意点:没有这个数要返回大于这个数的下标
思想:
for循环找到target的值,返回下标,加判断如果没有这个值,找出小于这个值和第二个数大于的区间,将第二个数的下标返回,总体来说就是运用夹逼定理,但是力扣比较严格,会出现溢出值报错;所以我最后加了一个判断。
这题很简单,小白一个,请勿喷,感谢!
最后代码:
int searchInsert(int* nums, int numsSize, int target) {
int num=0;
for(int i=0;i<numsSize-1;i++)
{
if(nums[i]<target && nums[i+1]>target)
{
num=i+1;
break;
}
else if(nums[i]==target)
{
num=i;
break;
}
}
if(nums[numsSize-1]<target)
{
num=numsSize;
}
else if(nums[numsSize-1]==target)
{
num=numsSize-1;
}
return num;
}
再接再励吧!!!!!!!
脑袋空空。
如果有更好的方案,请赐教,感谢!
标签:返回,下标,target,nums,int,35,力扣,插入,num From: https://blog.csdn.net/m0_65146517/article/details/140188220