题目描述
给出一个有序的数组和一个目标值,如果数组中存在该目标值,则返回该目标值的下标。如果数组中不存在该目标值,则返回如果将该目标值插入这个数组应该插入的位置的下标
假设数组中没有重复项。
下面给出几个样例:
[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0
/**
*
* @param A int整型一维数组
* @param target int整型
* @return int整型
*/
public int searchInsert (int[] A, int target) {
int lastPos = A.length;;
for(int i=0;i<A.length;i++){
if(A[i] == target){
return i;
}else if(target < A[i]){
//{1,2} 0 则0应该插入i=0的位置 其他元素后移动
return i;
}
}
//[1],2 数组遍历完了 还没有找到小于target的位置 则后插
return lastPos;
}