File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed
find-minimum-in-rotated-sorted-array Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change 1+ class Solution {
2+ public int findMin (int [] nums ) {
3+ // TC: O(log N)
4+ // SC: O(1)
5+ var left = 1 ; // N๋ฒ ํ์ ํด ์ด๋ฏธ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ผ ๊ฒฝ์ฐ 0์ผ๋ก ์์ํ๋ฉด ๋ฃจํ๊ฐ ์๋๋จ. 1๋ก ์์
6+ var right = nums .length -1 ;
7+
8+ while (left <= right ) { // left๊ฐ right๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์๋๊น์ง
9+ var mid = (left + right ) / 2 ;
10+ if (nums [mid - 1 ] > nums [mid ]) { // mid - 1 ์์๊ฐ mid ๋ณด๋ค ๊ฐ์ด ํฌ๋ฉด ๋ณ๊ณก์ ์ ์ฐพ์ ๊ฒ. ๊ทธ๋๋ก ๋ฐํ
11+ return nums [mid ];
12+ }
13+
14+ if (nums [mid ] > nums [0 ]) { // ๋ณ๊ณก์ ์ด ์๋๊ณ , 0๋ฒ์งธ ์ธ๋ฑ์ค๋ณด๋ค mid ์์๊ฐ ๊ฐ์ด ํฌ๋ฉด ์ ๋ ฌ์ด ์ ๋์ด ์๋๊ฒ. ์ค๋ฅธ์ชฝ์ผ๋ก ํ์
15+ left = mid + 1 ;
16+ } else {
17+ right = mid - 1 ;
18+ }
19+ }
20+
21+ return nums [0 ]; // N๋ฒ ํ์ ํด ์ด๋ฏธ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ผ ๊ฒฝ์ฐ 0๋ฒ์งธ ์ธ๋ฑ์ค ์์ ๋ฐํ
22+ }
23+ }
You canโt perform that action at this time.
0 commit comments