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