하루 leetCode 질문 - 배열 --35-- 검색 삽입 위치

정렬 된 배열과 목표 값이 주어 목표 값은 목표 어레이에 존재하지 않을 경우,이 서열 삽입 위치에 반환되며, 어레이에서 발견하고, 그 인덱스를 반환한다.

반복 요소없이 배열을 가정

예 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;
}
게시 43 개 원래 기사 · 원 찬양 한 · 전망 2299

추천

출처blog.csdn.net/lpl312905509/article/details/104047854