Skip to content

Commit 82c01f1

Browse files
committed
Add find minimum in rotated sorted array solution
1 parent 1e321a7 commit 82c01f1

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// ์‹œ๊ฐ„ ๋ณต์žก๋„: O(log n)
2+
// - n: ๋ฐฐ์—ด์˜ ๊ธธ์ด
3+
// - ๋งค ๋ฐ˜๋ณต๋งˆ๋‹ค ํƒ์ƒ‰ ๋ฒ”์œ„๋ฅผ ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์ด๋Š” ์ด์ง„ ํƒ์ƒ‰์ด๋ฏ€๋กœ O(log n)
4+
//
5+
// ๊ณต๊ฐ„ ๋ณต์žก๋„: O(1)
6+
// - ์ถ”๊ฐ€์ ์ธ ๋ฐฐ์—ด์ด๋‚˜ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ,
7+
// ๋ณ€์ˆ˜(left, right, mid)๋งŒ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ƒ์ˆ˜ ๊ณต๊ฐ„
8+
9+
class Solution {
10+
fun findMin(nums: IntArray): Int {
11+
var left = 0
12+
var right = nums.size - 1
13+
14+
while (left < right) {
15+
val mid = left + (right - left) / 2
16+
17+
if (nums[mid] > nums[right]) {
18+
left = mid + 1
19+
} else {
20+
right = mid
21+
}
22+
}
23+
24+
return nums[left]
25+
}
26+
}

0 commit comments

Comments
ย (0)