File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed
search-in-rotated-sorted-array Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * Source: https://leetcode.com/problems/search-in-rotated-sorted-array/description/
3
+ * νμ΄λ°©λ²: μ΄μ§νμμ ꡬνν΄μ μνλ κ°μ μ°Ύμ
4
+ *
5
+ * μκ°λ³΅μ‘λ: O(log n) - λ§€ λ°λ³΅λ§λ€ νμ λ²μκ° μ λ°μΌλ‘ μ€μ΄λ¦
6
+ * 곡κ°λ³΅μ‘λ: O(1) - μΆκ° 곡κ°μ μ¬μ©νμ§ μκ³ ν¬μΈν° λ³μλ§ μ¬μ©
7
+ *
8
+ * ν¬μΈνΈ
9
+ * - λ¬Έμ μμ μκ° λ³΅μ‘λλ₯Ό O(log n)μ νλΌκ³ μ νμ νκΈ°λλ¬Έμ μ½κ² μ΄μ§νμμΌλ‘ νμ΄μΌ ν¨μ νμ
ν¨
10
+ */
11
+
12
+ function search ( nums : number [ ] , target : number ) : number {
13
+ let left = 0 ;
14
+ let right = nums . length - 1 ;
15
+
16
+ while ( left <= right ) {
17
+ let mid = Math . floor ( ( left + right ) / 2 ) ;
18
+ if ( nums [ mid ] === target ) return mid ;
19
+ else if ( nums [ mid ] >= nums [ left ] ) {
20
+ if ( nums [ left ] <= target && target <= nums [ mid ] ) right = mid - 1 ;
21
+ else left = mid + 1 ;
22
+ } else {
23
+ if ( nums [ mid ] <= target && target <= nums [ right ] ) left = mid + 1 ;
24
+ else right = mid - 1 ;
25
+ }
26
+ }
27
+ return - 1 ;
28
+ }
You canβt perform that action at this time.
0 commit comments