首页 > 其他 > 详细

33. Search in Rotated Sorted Array

时间:2018-07-08 16:13:44      阅读:179      评论:0      收藏:0      [点我收藏+]
 1 static int wing=[]()
 2 {
 3     std::ios::sync_with_stdio(false);
 4     cin.tie(NULL);
 5     return 0;
 6 }();
 7 
 8 class Solution 
 9 {
10 public:
11     int search(vector<int>& nums, int target) 
12     {
13         int sz=nums.size();
14         if(sz==0)
15             return -1;
16         int flag= (nums[0]<=target)? 0:1;
17         int left=0,right=sz-1;
18         if(flag==0)
19         {
20             while(left<right)
21             {
22                 int mid=left+((right-left)>>1);
23                 int flagmid= (nums[mid]>=nums[0])? 0:1;
24                 if(flagmid==0)
25                 {
26                     if(nums[mid]==target)
27                         return mid;
28                     else if(nums[mid]>target)
29                         right=mid;
30                     else
31                         left=mid+1;
32                 }
33                 else
34                     right=mid-1;              
35             }
36             return (nums[left]==target? left:-1);
37         }
38         else
39         {
40             while(left<right)
41             {
42                 int mid=left+((right-left)>>1);
43                 int flagmid= (nums[mid]>=nums[0])? 0:1;
44                 if(flagmid==1)
45                 {
46                     if(nums[mid]==target)
47                         return mid;
48                     else if(nums[mid]>target)
49                         right=mid;
50                     else
51                         left=mid+1;
52                 }
53                 else
54                     left=mid+1;              
55             }
56             return (nums[left]==target? left:-1);
57         }
58     }
59 };

分块,分情况讨论,目标值和mid在一个区则查找,否则更新两端指针

33. Search in Rotated Sorted Array

原文:https://www.cnblogs.com/zhuangbijingdeboke/p/9280079.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!