33. Search in Rotated Sorted Array
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了33. Search in Rotated Sorted Array相关的知识,希望对你有一定的参考价值。
??????????????? lin ?????? The solution ref ?????? ?????? line
https://leetcode.com/problems/search-in-rotated-sorted-array/
????????????????????????????????????????????????????????????????????????????????????[0,1,2,3,4,5,6,7]???????????????[4,5,6,7,0,1,2,3]
?????????????????????????????????????????????????????????target????????????????????????????????????????????????????????????-1?????????????????????????????????????????????????????????????????? (O(logN))
?????????????????????????????????????????????????????????????????????target????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????target?????????????????????????????????????????????target??????????????????????????????????????????????????????
????????????????????????????????????????????????
- ????????????????????????????????????
- ????????????????????????????????????
class Solution {
public:
int search(vector<int>& nums, int target) {
int lo = 0, hi = nums.size()-1;
if(hi==-1)
return -1;
while(lo < hi) // find the minimum first
{
int mi = (lo+hi)>>1;
if(nums[mi] < nums[hi])
hi = mi;
else
lo = mi +1;
}
if (nums[nums.size()-1] < target) // ??????target????????????????????????????????????????????????????????????????????????????????????lo ??? hi??????
{
lo=0; hi = hi-1;
}
else // ?????? target ????????????????????????????????????????????????????????????????????? lo ??? hi???1???
{
lo = lo; hi = nums.size()-1;
}
while(lo < hi)
{
int mi = (lo + hi)>>1;
if (nums[mi] < target)
lo = mi+1;
else
hi = mi;
}
return (nums[lo]==target)?lo:-1;
}
};
以上是关于33. Search in Rotated Sorted Array的主要内容,如果未能解决你的问题,请参考以下文章
33. Search in Rotated Sorted Array
33. Search in Rotated Sorted Array *HARD*
33. Search in Rotated Sorted Array
Leetcode[33]-Search in Rotated Sorted Array