Guest User

Untitled

a guest
Dec 16th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. class Solution {
  2. public:
  3. int search(vector<int>& nums, int target) {
  4. int len_n = nums.size();
  5. int lo = 0, hi = len_n-1;
  6. int mid, s_ind;
  7. while(lo<hi)
  8. {
  9. mid = (lo+hi)/2;
  10. if(nums[mid]>nums[hi]){
  11. lo = mid+1;
  12. }
  13. else
  14. hi = mid;
  15. }
  16. s_ind = lo;
  17.  
  18. lo = 0, hi = len_n - 1;
  19. while(lo<=hi){
  20. mid = (lo + hi)/2;
  21. int realmid = (mid + s_ind)%len_n;
  22. if(nums[realmid] == target)
  23. return realmid;
  24. if(nums[realmid]>target){
  25. hi = mid-1;
  26. }
  27. else if(nums[realmid]<target)
  28. lo = mid+1;
  29. }
  30. return -1;
  31.  
  32. }
  33. };
Add Comment
Please, Sign In to add comment