Leetcode -- Search in Rotated Sorted Array
来源:互联网 发布:买房子哪个网好 知乎 编辑:程序博客网 时间:2024/05/01 04:13
问题链接:https://oj.leetcode.com/problems/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.
问题API:public int search(int[] A, int target)
问题分析:这题其实就是典型的二分运用。这个题目再没有重复的情况下是logN, 只需要判断rotate之后中间分界后一边是rotate过后变成unsorted的样子,另一边依旧是sorted的递增的样子,所以判断好递增是哪一边之后,其实就跟Binary Search没有俩样了。代码如下:
public int search(int[] A, int target) { if(A == null) return -1; int mid, head = 0, tail = A.length - 1; while(head <= tail){ mid = (head + tail) / 2; if(target == A[mid]) return mid; else if(A[mid] < A[tail]){//这就是判断哪边是递增的一边,利用binary search的思想判断target是否在递增的一边,不在的话肯定就是在非递增的一边了 if(target > A[mid] && target <= A[tail]) head = mid + 1; else tail = mid - 1; }else{ if(target < A[mid] && target >= A[head])//同上 tail = mid - 1; else head = mid + 1; } } return -1; }
0 0
- [leetcode][search] Search in Rotated Sorted Array
- LeetCode: Search in Rotated Sorted Array
- LeetCode: Search in Rotated Sorted Array II
- LeetCode Search in Rotated Sorted Array
- LeetCode Search in Rotated Sorted Array II
- [Leetcode] Search in Rotated Sorted Array
- LeetCode : Search in Rotated Sorted Array
- LeetCode : Search in Rotated Sorted Array II
- [LeetCode] Search in Rotated Sorted Array II
- [LeetCode] Search in Rotated Sorted Array
- [Leetcode] Search in a Rotated Sorted Array
- [Leetcode] Search in Rotated Sorted Array II
- leetcode 97: Search in Rotated Sorted Array
- [LeetCode] Search in Rotated Sorted Array
- [leetcode] Search in Rotated Sorted Array
- [leetcode] Search in Rotated Sorted Array II
- Leetcode Search in Rotated Sorted Array
- [LeetCode]Search in Rotated Sorted Array
- SQL语句优化解析
- Java内存泄露监控检测工具-- JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat
- 枚举系统进程的学习
- 【SzNOI语法百题】【d003】计算矩形周长和面积
- 启航:梦与远方
- Leetcode -- Search in Rotated Sorted Array
- IEEE参考文献格式
- hibernate正向工程生成数据库
- 12.前置通知
- 简单wordpress模板
- 5年后,重头再来
- 使用开源软件前应该问的七个问题
- oracle中的exists 和in 用法区别详解
- Android的Drawable缓存机制源码分析