Skip to content

Commit 75281a1

Browse files
author
applewjg
committed
Update
1 parent 3a9cf1f commit 75281a1

File tree

2 files changed

+13
-24
lines changed

2 files changed

+13
-24
lines changed

FindMinimumInRotatedSortedArray.h

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,12 @@ class Solution {
1919
int size = num.size();
2020
int left = 0;
2121
int right = size - 1;
22-
while (left < right) {
23-
int mid = (left + right + 1) / 2;
24-
if (num[mid] > num[left]) {
25-
if (num[left] < num[right]) {
26-
right = mid - 1;
27-
} else {
28-
left = mid;
29-
}
22+
while (left < right && num[left] >= num[right]) {
23+
int mid = (left + right) / 2;
24+
if (num[mid] > num[right]) {
25+
left = mid + 1;
3026
} else {
31-
if (right == mid) left = mid;
32-
else right = mid;
27+
right = mid;
3328
}
3429
}
3530
return num[left];

FindMinimumInRotatedSortedArrayII.h

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,16 @@ class Solution {
1919
int size = num.size();
2020
int left = 0;
2121
int right = size - 1;
22-
while (left < right) {
23-
int mid = (left + right + 1) / 2;
24-
if (num[mid] > num[left]) {
25-
if (num[left] < num[right]) {
26-
right = mid - 1;
27-
} else {
28-
left = mid;
29-
}
22+
while (left < right && num[left] >= num[right]) {
23+
int mid = (left + right) / 2;
24+
if (num[mid] > num[right]) {
25+
left = mid + 1;
3026
} else if (num[mid] < num[left]) {
31-
if (right == mid) left = mid;
32-
else right = mid;
27+
right = mid;
3328
} else {
34-
if (num[left] == num[right]) ++left, --right;
35-
else left = mid;
29+
++left;
3630
}
3731
}
38-
return num[left];
32+
return num[left];
3933
}
40-
};
34+
};

0 commit comments

Comments
 (0)