Skip to content

Commit 4756846

Browse files
committed
Search in Rotated Sorted Array
1 parent 99ff3af commit 4756846

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

go/search_in_rotated_sorted_array.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//lint:file-ignore U1000 Ignore all unused code
2+
package main
3+
4+
func searchInRotatedSortedArray(nums []int, target int) int {
5+
left, right := 0, len(nums)-1
6+
for left <= right {
7+
mid := (left + right) / 2
8+
if target == nums[mid] {
9+
return mid
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+
} else {
18+
if nums[mid] < target && target <= nums[right] {
19+
left = mid + 1
20+
} else {
21+
right = mid - 1
22+
}
23+
}
24+
}
25+
return -1
26+
}

0 commit comments

Comments
 (0)