Skip to content

Commit f06e0ee

Browse files
committed
search inrotated sorted array solution
1 parent 6ac948d commit f06e0ee

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
var search = function (nums, target) {
2+
let left = 0,
3+
right = nums.length - 1;
4+
5+
while (left <= right) {
6+
const mid = Math.floor((left + right) / 2);
7+
8+
if (nums[mid] === target) return mid;
9+
10+
// ์™ผ์ชฝ ์ ˆ๋ฐ˜์ด ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ
11+
if (nums[left] <= nums[mid]) {
12+
if (nums[left] <= target && target < nums[mid]) {
13+
right = mid - 1; // ์™ผ์ชฝ ๋ฒ”์œ„๋กœ ์ด๋™
14+
} else {
15+
left = mid + 1; // ์˜ค๋ฅธ์ชฝ ๋ฒ”์œ„๋กœ ์ด๋™
16+
}
17+
}
18+
// ์˜ค๋ฅธ์ชฝ ์ ˆ๋ฐ˜์ด ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ
19+
else {
20+
if (nums[mid] < target && target <= nums[right]) {
21+
left = mid + 1; // ์˜ค๋ฅธ์ชฝ ๋ฒ”์œ„๋กœ ์ด๋™
22+
} else {
23+
right = mid - 1; // ์™ผ์ชฝ ๋ฒ”์œ„๋กœ ์ด๋™
24+
}
25+
}
26+
}
27+
28+
return -1;
29+
};

0 commit comments

Comments
ย (0)