File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed
search-in-rotated-sorted-array Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * ๋ฌธ์ ์ค๋ช
3+ * - ํ์ ๋ ์ ๋ ฌ๋ ๋ฐฐ์ด์์ ํ๊ฒ ๊ฐ์ ์ฐพ๋ ๋ฌธ์
4+ * - ์ด์ง ํ์์ ์์ฉ ๋ฒ์
5+ *
6+ * ์์ด๋์ด
7+ * 1) ๋ณํ๋ ์ด์ง ํ์ ์ฌ์ฉ
8+ * - ์ค๊ฐ ๊ฐ๊ณผ ์ผ์ชฝ, ๋ ๊ฐ์ ๋น๊ตํ์ฌ ์ผ์ชฝ ์ ๋ ฌ ์์ญ์ธ์ง ์ค๋ฅธ์ชฝ ์ ๋ ฌ ์์ญ์ธ์ง ํ์ธ
9+ */
10+
11+ function search ( nums : number [ ] , target : number ) : number {
12+ let left = 0 ;
13+ let right = nums . length - 1 ;
14+
15+ while ( left <= right ) {
16+ const mid = Math . floor ( ( left + right ) / 2 ) ;
17+
18+ if ( nums [ mid ] === target ) return mid ;
19+
20+ // mid๊ฐ ์ผ์ชฝ ์ ๋ ฌ์ ํฌํจ
21+ if ( nums [ mid ] >= nums [ left ] ) {
22+ if ( target >= nums [ left ] && target < nums [ mid ] ) {
23+ right = mid - 1 ;
24+ } else {
25+ left = mid + 1 ;
26+ }
27+ }
28+ // mid๊ฐ ์ค๋ฅธ์ชฝ ์ ๋ ฌ์ ํฌํจ
29+ else {
30+ if ( target < nums [ mid ] && target <= nums [ right ] ) {
31+ left = mid + 1 ;
32+ } else {
33+ right = mid - 1 ;
34+ }
35+ }
36+ }
37+ return - 1 ;
38+ }
You canโt perform that action at this time.
0 commit comments