搜索插入位置

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

你可以假设数组中无重复元素。
示例1:

1
2
输入:[1, 3, 5, 6], 5
输出:2

示例2:

1
2
输入:[1, 3, 5, 6], 2
输出:1

示例3:

1
2
输入:[1, 3, 5, 6], 7
输出:4

示例4:

1
2
输入:[1, 3, 5, 6], 0
输出:0

C语言

1
2
3
4
5
6
7
8
9
10
11
12
int searchInsert(int* nums, int numsSize, int target) {
int i = 0;
if (target > nums[numsSize - 1])
return numsSize;
else if (target < nums[0])
return 0;
else
for(i ; i < numsSize ; ++i)
if (nums[i] >= target)
return i;
return 0;
}