diff options
Diffstat (limited to 'c/0035')
| -rw-r--r-- | c/0035/main.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/c/0035/main.c b/c/0035/main.c index 253187b..287885a 100644 --- a/c/0035/main.c +++ b/c/0035/main.c @@ -1,3 +1,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)); }
\ No newline at end of file |
