File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
find-minimum-in-rotated-sorted-array Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change
1
+ from typing import List
2
+
3
+
4
+ class Solution :
5
+ def findMin (self , nums : List [int ]) -> int :
6
+ """
7
+ - Idea: ํ์ ๋ ์ ๋ ฌ ๋ฐฐ์ด์์ ๊ฐ์ฅ ์์ ๊ฐ์ ์ฐพ๊ธฐ ์ํด ๋ ๊ฐ์ ํฌ์ธํฐ, left, right๋ฅผ ์ด์ฉํ๋ค.
8
+ ๋ ๊ฐ์ ํฌ์ธํฐ๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฐฐ์ด์์ ํ์ํ ๋ฒ์๋ฅผ ์ค์ฌ๊ฐ๋๋ฐ ํ์ฉ๋๋ค.
9
+ - Time Complexity: O(logn). n์ ๋ฐฐ์ด์ ํฌ๊ธฐ์ด๋ค.
10
+ ๋งค๋ฒ ๋ฐฐ์ด์ ์ ๋ฐ์ผ๋ก ๋๋ ์ ํ์ ๋ฒ์๋ฅผ ์ค์ด๊ธฐ ๋๋ฌธ์ O(logn) ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
11
+ - Space Complexity: O(1). ๋ฐฐ์ด์ ํฌ๊ธฐ์ ์๊ด์์ด left, right, mid ๋ณ์๋ง ์ฌ์ฉ๋๋ฏ๋ก
12
+ ์์ ๊ณต๊ฐ๋ง ์ฐจ์งํ๋ค.
13
+ """
14
+ left , right = 0 , len (nums ) - 1
15
+
16
+ while left < right :
17
+ mid = (left + right ) // 2
18
+
19
+ if nums [right ] < nums [mid ]:
20
+ left = mid + 1
21
+ else :
22
+ right = mid
23
+
24
+ return nums [left ]
You canโt perform that action at this time.
0 commit comments