@@ -9,55 +9,34 @@ const search = (nums, target) => {
9
9
// odd 5,7 => [2,0,1]
10
10
while ( l <= r ) {
11
11
let m = Math . ceil ( ( l + r ) / 2 ) ;
12
- console . log ( `l:${ l } , r:${ r } , m:${ m } , target:${ target } , nums[m]:${ nums [ m ] } ` )
13
- if ( target == nums [ m ] ) {
14
- console . log ( `Returnig: ${ m } ` )
15
- return m ;
16
- }
17
12
18
- console . log ( "??" )
13
+ if ( target == nums [ m ] ) return m ;
14
+
19
15
// chunk checking
20
16
if ( nums [ l ] <= nums [ m ] ) {
21
- // is the target within this chunk
22
17
23
- if ( nums [ l ] > target ) {
24
- l = m + 1 ;
18
+ if ( nums [ l ] <= target ) {
19
+ r = m ;
25
20
} else {
26
- // r = m;
27
- // r = (m == r) ? m - 1 : m;
28
- // l = m;
29
- console . log ( "hit here" )
21
+ l = m + 1 ;
30
22
}
31
-
32
- //if (nums[l] <= target && target <= nums[m]) {
33
- // r = (m == r) ? m - 1 : r = m;
34
- //} else {
35
- //l = m + 1;
36
- //}
37
23
} else {
38
- if ( nums [ l ] <= target ) {
39
- r = m - 1 ;
24
+ if ( nums [ m ] <= target ) {
25
+ l = m ;
40
26
} else {
41
- l = m + 1 ;
27
+ r = m - 1 ;
42
28
}
43
- // if the target >= m, l = m
44
- // if the target <= m, r = m
45
- // if (target >= m) l = m;
46
- //if (target <= m) {
47
- // r = (m == r) ? m - 1 : r = m;
48
- //}
49
29
}
30
+
50
31
// if (nums[l] == nums[r]) return -1;
51
- }
52
32
53
- console . log ( `Returnig: -1` )
33
+ }
54
34
55
- return - 1 ;
35
+ // return -1;
56
36
} ;
57
37
58
38
59
39
60
-
61
40
search ( [ 4 , 5 , 6 , 7 , 0 , 1 , 2 ] , 0 )
62
41
// search([3, 1], 3)
63
42
// search([3, 1], 0)
0 commit comments