Skip to content

Commit 34b7c4c

Browse files
committed
[03/09] 實際02/18, 35-searchInsert,根據binary search解決
1 parent c9d07f0 commit 34b7c4c

File tree

3 files changed

+37
-0
lines changed

3 files changed

+37
-0
lines changed

src/35_searchInsert/algo.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package algo
2+
3+
func searchInsert(nums []int, target int) int {
4+
start:=0
5+
end := len(nums)-1
6+
for start+1 < end{
7+
middle := (end+start)/2
8+
if nums[middle] == target{
9+
return middle
10+
} else if nums[middle] < target{
11+
start = middle+1
12+
} else {
13+
end = middle-1
14+
}
15+
}
16+
if nums[start] >=target{
17+
return start
18+
} else if nums[end] < target{
19+
return end+1
20+
} else{
21+
return start+1
22+
}
23+
}

src/35_searchInsert/algo_test.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package algo
2+
import "testing"
3+
4+
func Test(t *testing.T){
5+
if {
6+
t.Log("Success")
7+
} else{
8+
t.Error("Fail")
9+
}
10+
11+
}

src/35_searchInsert/go.mod

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module algo
2+
3+
go 1.17

0 commit comments

Comments
 (0)