Skip to content

Commit cc229c4

Browse files
simplified solutino search in rotated array
1 parent 13b5dbd commit cc229c4

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

81 Search in Rotated Sorted Array II.js

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,30 +18,31 @@
1818
var 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+

0 commit comments

Comments
 (0)