二分查找33. 搜索旋转排序数组

Posted ocpc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找33. 搜索旋转排序数组相关的知识,希望对你有一定的参考价值。

题目:

技术图片

 

 

解答:

 1 class Solution {
 2 public:
 3     int search(vector<int>& nums, int target) 
 4     {
 5         int l = 0;
 6         int r = nums.size() -1;
 7         
 8         while (l <= r)
 9         {
10             int mid = (l + r) >> 1;
11 
12             if (target == nums[mid]) 
13             {
14                 return mid;
15             }
16 
17             if (nums[l] <= nums[mid])
18             {
19                 if (nums[l] <= target && target < nums[mid])
20                     r = mid-1;
21                 else
22                     l = mid+1;
23             }
24             else
25             {
26                 if (nums[mid] < target && target <= nums[r])
27                     l = mid +1;
28                 else
29                     r = mid -1;
30             }
31         }
32         return -1;
33     }
34 };

 

以上是关于二分查找33. 搜索旋转排序数组的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode] 33. 搜索旋转排序数组 ☆☆☆(二分查找)

二分查找33. 搜索旋转排序数组

二分查找团灭力扣旋转排序数组系列

33. 搜索旋转排序数组

LeetCode 33.搜索旋转排序数组

leetcode 33搜索旋转排序数组(第二遍)