leetcode 033 Search in Rotated Sorted Array
2016-05-07 16:22
393 查看
Suppose a sorted array is rotated at some pivot unknown to you beforehand.
(i.e.,
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
(i.e.,
0 1 2 4 5 6 7might 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
class Solution { public: int search(vector<int>& nums, int target) { int len = nums.size(); if(len==0) return -1; int pivot=0; for(int i=1; i<len; i++) { if(nums[i] < nums[i-1]) { pivot=i; break; } } int left = 0, end = 0; if(target < nums[pivot]) return -1; if(pivot-1>=0 && target > nums[pivot-1]) return -1; if(pivot-1>=0 && target >= nums[0] && target <= nums[pivot-1]) { left = 0; end = pivot-1; } else { left = pivot; end = len-1; } while(left <= end) { int mid = (left+end)/2; if(target==nums[mid]) return mid; else if(target > nums[mid]) { left = mid+1; } else { end = mid-1; } } return -1; } };
相关文章推荐
- VS注释与取消注释快捷键
- ps命令
- 有向无环图(DAG)的最小路径覆盖
- java类加载方式
- [HTML5] Emmet
- git 自动化
- jquery学习备忘录
- php中$_GET、$_POST、$_REQUEST中的使用及简介
- C++第5次作业
- <html>framest(框架)
- mysql主从同步不一致后的解决方法
- Java IO流和装饰模式(Decorator)
- 启动任务StartTask() 发送完消息队列 自己删除,接收方一直显示数据 用OSQFlush(Str_Q); //清空消息队列 下面纠结接收不到了 哈哈
- unity3d中脚本生命周期(MonoBehaviour lifecycle)
- Android中的SystemClock类
- UITextView
- 兔子-Cannot reload AVD list: cvc-enumeration-valid: Value '280dpi' is not facet-valid with r
- HDU 2049 不容易系列之(4)——考新郎(错排+组合数学)
- 【C#反射-Type类】
- MATLAB2014a中help与参考页中文翻译(用于学习) cat