Skip to content

Commit 23be100

Browse files
committed
find-minimum solution
1 parent 0a87ac8 commit 23be100

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+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var findMin = function(nums) {
6+
let left = 0;
7+
let right = nums.length - 1;
8+
9+
while (left < right) {
10+
const mid = Math.floor((left + right) / 2);
11+
12+
// ์ค‘๊ฐ„๊ฐ’์ด ์˜ค๋ฅธ์ชฝ๋ณด๋‹ค ํฌ๋ฉด ์ตœ์†Œ๊ฐ’์€ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋‹ค!
13+
if (nums[mid] > nums[right]) {
14+
left = mid + 1;
15+
} else {
16+
// ์ตœ์†Œ๊ฐ’์€ mid๋ฅผ ํฌํ•จํ•œ ์™ผ์ชฝ์— ์žˆ๋‹ค!
17+
right = mid;
18+
}
19+
}
20+
21+
// left == right์ผ ๋•Œ ์ตœ์†Œ๊ฐ’์ด ์œ„์น˜ํ•จ
22+
return nums[left];
23+
};
24+
25+
// ์‹œ๊ฐ„ ๋ณต์žก๋„: O(log n), ์ด์ง„ ํƒ์ƒ‰์œผ๋กœ ํƒ์ƒ‰ ๋ฒ”์œ„๋ฅผ ์ ˆ๋ฐ˜์”ฉ ์ค„์—ฌ๋‚˜๊ฐ
26+
// ๊ณต๊ฐ„ ๋ณต์žก๋„: O(1), ์ถ”๊ฐ€์ ์ธ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ

0 commit comments

Comments
ย (0)