Skip to content

Commit f686eef

Browse files
committed
search-in-rotated-sorted-array solution
1 parent 2db6996 commit f686eef

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+
class Solution:
2+
def search(self, nums: List[int], target: int) -> int:
3+
4+
# ํšŒ์ „๋œ ์ •๋ ฌ ๋ฐฐ์—ด์—์„œ ์ด์ง„ํƒ์ƒ‰(์‹œ๊ฐ„๋ณต์žก๋„ O(log n))
5+
left = 0
6+
right = len(nums)-1
7+
8+
while left <= right:
9+
mid = (left+right)//2
10+
11+
if nums[mid] == target:
12+
return mid
13+
14+
# ์™ผ์ชฝ ์ •๋ ฌ
15+
if nums[left] <= nums[mid]:
16+
if nums[left] <= target < nums[mid]:
17+
right = mid - 1
18+
else:
19+
left = mid + 1
20+
21+
# ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ
22+
else:
23+
if nums[mid] < target <= nums[right]:
24+
left = mid + 1
25+
else:
26+
right = mid - 1
27+
28+
# ํƒ์ƒ‰ ํ›„์—๋„ ํƒ€์ผ“์„ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๋ฉด -1 ๋ฐ˜ํ™˜
29+
return -1

0 commit comments

Comments
ย (0)