题目描述:
假设按升序排序的数组在某个未知的枢轴上旋转。
(即,0 1 2 4 5 6 7
可能变得4 5 6 7 0 1 2
)。
您将获得一个搜索的目标值。如果在数组中找到,则返回其索引,否则返回-1。
重点:您可以假定数组中不存在重复。
代码如下:数据中不存在重复,可以采用map
public int search(int[] nums, int target) {
if (nums.length == 0)
return -1;
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
map.put(nums[i], i);
}
if (map.containsKey(target))
return map.get(target);
else
return -1;
}