给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引,如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 假设数组中无重复元素 实例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; }