题目描述:
假设按升序排序的数组在某个未知的枢轴上旋转。
(即,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;
}
这篇博客探讨了如何在经过未知枢轴旋转的升序数组中搜索目标值。通过创建一个HashMap来存储数组元素及其索引,算法可以在O(n)时间内找到目标值的索引,若不存在则返回-1。这种方法假设数组中没有重复元素。
1549

被折叠的 条评论
为什么被折叠?



