Search in Rotated Sorted Array
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Search in Rotated Sorted Array相关的知识,希望对你有一定的参考价值。
Suppose a sorted array is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7
might become 4 5 6 7 0 1 2
).
You are given a target value to search. If found in the array return its index, otherwise return -1.
You may assume no duplicate exists in the array.
Subscribe to see which companies asked this question
1.做了下标映射
class Solution { public: int binary_search(vector<int> &nums, int target) { int l = 0; int r = nums.size() -1; while (l<=r) { int mid = l + ((r - l) >> 1); if (nums[mid] == target) { return mid; } else if (nums[mid] < target) { l = mid + 1; } else { r = mid - 1; } } return -1; } int search(vector<int>& nums, int target) { //映射 int i = 0; vector<int> tmp_nums; vector<int> tmp_index; int j = 0; for (i=0; i<nums.size() -1 ; i++) { if (nums[i+1] < nums[i]) { break; } } for (j=i+1; j<nums.size(); j++) { tmp_nums.push_back(nums[j]); tmp_index.push_back(j); } for (j=0; j<=i; j++) { tmp_nums.push_back(nums[j]); tmp_index.push_back(j); } int k = binary_search(tmp_nums, target); if (k != -1) { return tmp_index[k]; } else { return -1; } } };
以上是关于Search in Rotated Sorted Array的主要内容,如果未能解决你的问题,请参考以下文章
Search in Rotated Sorted Array
33. Search in Rotated Sorted Array
33. Search in Rotated Sorted Array
33. Search in Rotated Sorted Array