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