Skip to content

Commit f6e471c

Browse files
committed
add Search in Rotated Sorted Array solution
1 parent 247014d commit f6e471c

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
* [Problem]: [33] Search in Rotated Sorted Array
3+
* (https://leetcode.com/problems/search-in-rotated-sorted-array/description/)
4+
*/
5+
function search(nums: number[], target: number): number {
6+
//시간복잡도 O(log n)
7+
//공간복잡도 O(1)
8+
let left = 0;
9+
let right = nums.length - 1;
10+
11+
while (left <= right) {
12+
let mid = Math.floor((left + right) / 2);
13+
14+
if (nums[mid] === target) return mid;
15+
16+
if (nums[left] <= nums[mid]) {
17+
if (nums[left] <= target && target < nums[mid]) {
18+
right = mid - 1;
19+
} else {
20+
left = mid + 1;
21+
}
22+
} else {
23+
if (nums[mid] < target && target <= nums[right]) {
24+
left = mid + 1;
25+
} else {
26+
right = mid - 1;
27+
}
28+
}
29+
}
30+
31+
return -1;
32+
}

0 commit comments

Comments
 (0)