35. 搜索插入位置

题目

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

你可以假设数组中无重复元素。

示例 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

思路

这道题很简单,就是在一个循环内将数组的每个数与目标值进行比较,如果目标值小于等于数组值,那就说明这个位置就是我们要找的位置.

如果一个循环下来都没有找到这个位置,说明这个位置在数组的最后.

代码

1
2
3
4
5
6
7
8
9
10
11
public int SearchInsert(int[] nums, int target)
{
for (int i = 0; i < nums.Length; i++)
{
if (nums[i] >= target)
{
return i;
}
}
return nums.Length;//如果前面的循环都找不到插入位置说明在最后面一个
}