Skip to content

Commit 61efc9a

Browse files
authored
Update 0153-find-minimum-in-rotated-sorted-array.kt
1 parent ad6f5f1 commit 61efc9a

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed
Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
11
class Solution {
22
fun findMin(nums: IntArray): Int {
3-
val n = nums.size
4-
if(n == 1) return nums[0]
5-
var low = 0
6-
var high = n - 1
7-
var min = Int.MIN_VALUE
8-
while(low < high) {
9-
var mid = low + (high - low)/2
10-
if(nums[mid] < nums[high]) {
11-
high = mid
12-
} else {
13-
low = mid + 1
14-
}
15-
min = nums[low]
3+
var l = 0
4+
var r = nums.lastIndex
5+
var res = nums[0]
6+
7+
while (l <= r) {
8+
var mid = l + (r - l) / 2
9+
if (nums[l] < nums[r]) {
10+
res = minOf(res, nums[l])
11+
break
12+
}
13+
14+
val m = l + (r - l) / 2
15+
res = minOf(res, nums[m])
16+
if (nums[m] >= nums[l])
17+
l = mid + 1
18+
else
19+
r = m - 1
1620
}
17-
return min
21+
22+
return res
1823
}
19-
}
24+
}

0 commit comments

Comments
 (0)