问题描述
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Example 1:
Input: [1,3,5,6], 5
Output: 2
Example 2:
Input: [1,3,5,6], 2
Output: 1
Example 3:
Input: [1,3,5,6], 7
Output: 4
Example 4:
Input: [1,3,5,6], 0
Output: 0
java实现
class Solution {
public int searchInsert(int[] nums, int target) {
int location=0;
boolean biggest=true; //是否是最大值
for(int i=0;i<nums.length;i++){
//找到第一个比target大的值,返回索引,结束循环
if(nums[i]>=target){
location=i;
biggest=false;//不是最大值
break;
}
}
if(biggest==true)
location=nums.length;//是最大值,应该放到数组最后一个位置
return location;
}
}