问题描述:
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。
如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
输入: [1,3,5,6], 5
输出: 2
示例 2:
输入: [1,3,5,6], 2
输出: 1
示例 3:
输入: [1,3,5,6], 7
输出: 4
示例 4:
输入: [1,3,5,6], 0
输出: 0
解决思路:
因为是有序的数组,所以只需要从小到大依次处理小于等于的情况,
如果给出的数大于数组所有的数,那么它插入数组最后下标+1的位置,也就是数组的长度
/*
*作者:赵星海
*时间:2020/8/5 11:34
*用途:搜索插入位置
*/
public int searchInsert(int[] nums, int target) {
for (int i = 0;i<nums.length;i++){
if (target<=nums[i]){
return i;
}
}
return nums.length;
}
亮点来了昂!:
耗时0毫秒!就问你怕不怕! 哈哈哈