blob: 287885a96e3c8801af73d3d70fe971daccfeccf8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <stdio.h>
// begin
int searchInsert(int* nums, int numsSize, int target) {
int lp = 0, rp = numsSize - 1;
int mid = -1;
while (lp <= rp) {
mid = lp + (rp - lp) / 2;
if (target > nums[mid]) {
lp = mid + 1;
} else if (target < nums[mid]) {
rp = mid - 1;
} else {
return mid;
}
}
if (target > nums[mid]) mid++;
return mid;
}
// end
int main() {
int arr[] = {1,2,4,5,6};
printf("%d\n", searchInsert(arr, 5, 3));
}
|