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 1818var search = function ( nums , target ) {
1919 var start = 0 ;
2020 var end = nums . length - 1 ;
21-
21+
2222 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 ) {
2626 return true ;
2727 }
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 ] ) {
3133 end = mid - 1 ;
3234 } else {
3335 start = mid + 1 ;
3436 }
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
3739 start = mid + 1 ;
3840 } else {
3941 end = mid - 1 ;
4042 }
41- } else {
42- start ++ ;
4343 }
4444 }
45-
45+
4646 return false ;
47- } ;
47+ } ;
48+
You can’t perform that action at this time.
0 commit comments