diff --git a/search-insert-position/sol.go b/search-insert-position/sol.go new file mode 100644 index 0000000..a2c7f9f --- /dev/null +++ b/search-insert-position/sol.go @@ -0,0 +1,19 @@ +package main + +// Time: O(log(n)) +// Space: O(1) +func searchInsert(nums []int, target int) int { + move := 0 + for l := len(nums); l > 0; l = len(nums) { + idx := l / 2 + if nums[idx] < target { + nums = nums[idx+1:] + move += idx + 1 + } else if nums[idx] > target { + nums = nums[:idx] + } else { + return move + idx + } + } + return move +}