summaryrefslogtreecommitdiff
path: root/c
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-09-03 16:17:56 +0800
committerMistivia <i@mistivia.com>2025-09-03 16:17:56 +0800
commit156529ea783462cbf4006a4d267c278a52b2d71e (patch)
tree4e01a45961cf24540918c4a746a1653ee586e7b1 /c
parent7ffeca0302d70ea121704ab7d61c1572eb24170b (diff)
solve 35
Diffstat (limited to 'c')
-rw-r--r--c/0035/main.c26
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