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