File tree Expand file tree Collapse file tree 1 file changed +22
-9
lines changed Expand file tree Collapse file tree 1 file changed +22
-9
lines changed Original file line number Diff line number Diff line change 1
1
//lint:file-ignore U1000 Ignore all unused code
2
2
package main
3
3
4
- func search (nums []int , target int ) int {
5
- l , r := 0 , len (nums )- 1
6
- for l <= r {
7
- mid := l + (r - l )/ 2
8
-
9
- if target == nums [mid ] {
4
+ func binarySearchHalfClosed (nums []int , target int ) int {
5
+ left , right := 0 , len (nums )
6
+ for left < right {
7
+ mid := left + (right - left )/ 2
8
+ if nums [mid ] == target {
10
9
return mid
11
10
}
12
-
13
11
if target < nums [mid ] {
14
- r = mid - 1
12
+ right = mid
15
13
} else {
16
- l = mid + 1
14
+ left = mid + 1
17
15
}
18
16
}
17
+ return - 1
18
+ }
19
19
20
+ func binarySearchClosed (nums []int , target int ) int {
21
+ left , right := 0 , len (nums )- 1
22
+ for left <= right {
23
+ mid := left + (right - left )/ 2
24
+ if nums [mid ] == target {
25
+ return mid
26
+ }
27
+ if target < nums [mid ] {
28
+ right = mid - 1
29
+ } else {
30
+ left = mid + 1
31
+ }
32
+ }
20
33
return - 1
21
34
}
You can’t perform that action at this time.
0 commit comments