File tree Expand file tree Collapse file tree 1 file changed +14
-13
lines changed Expand file tree Collapse file tree 1 file changed +14
-13
lines changed Original file line number Diff line number Diff line change 18
18
var search = function ( nums , target ) {
19
19
var start = 0 ;
20
20
var end = nums . length - 1 ;
21
-
21
+
22
22
while ( start <= end ) {
23
- var mid = start + parseInt ( ( end - start ) / 2 ) ;
24
-
25
- if ( nums [ mid ] === target ) {
23
+ var mid = parseInt ( ( end + start ) / 2 ) ;
24
+
25
+ if ( nums [ mid ] === target ) {
26
26
return true ;
27
27
}
28
-
29
- if ( nums [ start ] < nums [ mid ] ) { // in correct order
30
- if ( target >= nums [ start ] && target < nums [ mid ] ) { // normal order part
28
+
29
+ if ( nums [ start ] === nums [ mid ] ) {
30
+ start ++ ;
31
+ } else if ( nums [ start ] < nums [ mid ] ) { // left part sorted
32
+ if ( target >= nums [ start ] && target < nums [ mid ] ) {
31
33
end = mid - 1 ;
32
34
} else {
33
35
start = mid + 1 ;
34
36
}
35
- } else if ( nums [ mid ] < nums [ start ] ) { // incorrect order
36
- if ( target <= nums [ end ] && target > nums [ mid ] ) { // normal order part
37
+ } else { //right part sorted
38
+ if ( target <= nums [ end ] && target > nums [ mid ] ) { // normal order part
37
39
start = mid + 1 ;
38
40
} else {
39
41
end = mid - 1 ;
40
42
}
41
- } else {
42
- start ++ ;
43
43
}
44
44
}
45
-
45
+
46
46
return false ;
47
- } ;
47
+ } ;
48
+
You can’t perform that action at this time.
0 commit comments