Skip to content

Commit c2bba21

Browse files
authored
[DaleSeo] WEEK 04 Solutions (#2746)
* find-minimum-in-rotated-sorted-array * find-minimum-in-rotated-sorted-array: early return for sorted range
1 parent a5bf00e commit c2bba21

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// TC: O(log n)
2+
// SC: O(1)
3+
impl Solution {
4+
pub fn find_min(nums: Vec<i32>) -> i32 {
5+
let (mut lo, mut hi) = (0, nums.len() - 1);
6+
while lo < hi {
7+
if nums[lo] < nums[hi] {
8+
return nums[lo];
9+
}
10+
let mid = (lo + hi) / 2;
11+
if nums[mid] > nums[hi] {
12+
lo = mid + 1;
13+
} else {
14+
hi = mid;
15+
}
16+
}
17+
nums[lo]
18+
}
19+
}

0 commit comments

Comments
 (0)