File tree Expand file tree Collapse file tree
find-minimum-in-rotated-sorted-array Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ // math์ min์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ
2+ // tc: O(n)
3+ // sc: ์ ๋ชฐ๋๋๋ฐ ๋ชจ๋ ์์๋ฅผ ํจ์ ์ธ์๋ก ํ์ด ์ฝ์คํ์ ์ฌ๋ฆฐ๋ค ํ์ฌ O(n)์ด ๋๋ค๊ณ ํจ..
4+ // (๋์ฉ๋์ ๋ฐฐ์ด ์ maximum exceed ์๋ฌ๊ฐ ๋ ์ ์์)
5+ const findMin_use_math_min = function ( nums ) {
6+ return Math . min ( ...nums ) ;
7+ } ;
8+
9+ // ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ง ์์ ํ์ด.
10+ // tc: O(n)
11+ // sc: O(1)
12+ const findMin_naive = function ( nums ) {
13+ let min = nums [ 0 ] ;
14+
15+ for ( let i = 1 ; i < nums . length ; i ++ ) {
16+ if ( nums [ i ] <= min ) {
17+ min = nums [ i ] ;
18+ break ;
19+ }
20+ }
21+
22+ return min ;
23+ } ;
24+
25+ // ์๊ฐ๋ณต์ก๋๋ฅผ ๋ฌธ์ ์ ์๊ตฌ์ฌํญ์ ๋ง๋๋ก ์ค์ฌ๋ณธ ํ์ด
26+ // tc: O(logn)
27+ // sc: O(1)
28+ const findMin = function ( nums ) {
29+ let left = 0 ,
30+ right = nums . length - 1 ;
31+
32+ while ( left < right ) {
33+ let mid = Math . floor ( ( left + right ) / 2 ) ;
34+
35+ if ( nums [ mid ] > nums [ right ] ) {
36+ left = mid + 1 ;
37+ } else {
38+ right = mid ;
39+ }
40+ }
41+
42+ return nums [ left ] ;
43+ } ;
You canโt perform that action at this time.
0 commit comments