정렬 된 배열과 목표 값이 주어 목표 값은 목표 어레이에 존재하지 않을 경우,이 서열 삽입 위치에 반환되며, 어레이에서 발견하고, 그 인덱스를 반환한다.
반복 요소없이 배열을 가정
예 1 :
입력 : [1,3,5,6] 5
출력 : 2
예 2 :
입력 : [1,3,5,6], (7)
출력 4
이진 검색을 검사
static int searchInsert(int* nums,int numSize, int target)
{
int i = 0;
int j = numSize - 1;
int mid = 0;
if (numSize == 0) return numSize;
while (i<=j)
{
mid = (i + j) >> 1;
if (nums[mid] == target)
{
return mid;
}
else if (nums[mid] > target)
{
j = mid - 1;
}
else
{
i = mid + 1;
}
}
return i;
}
int main()
{
int arr[] = {1,2,4,5,9};
int mid = searchInsert(arr, sizeof(arr) / sizeof(arr[0]),10);
printf("%d\n", mid);
system("pause");
return 0;
}