leetcode@ [33] Search in Rotated Sorted Array
2015-11-07 12:59
435 查看
https://leetcode.com/problems/search-in-rotated-sorted-array/
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.
Suppose a sorted array is rotated at some pivot unknown to you beforehand.
(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.
class Solution { public: int search(vector<int>& nums, int target) { if(nums.size() == 0) return -1; if(nums.size() == 1) return target==nums[0]? 0: -1; int low = 0, high = nums.size()-1, breakPoint = nums.size()-1; while(high - low > 1) { int mid = (low + high)/2; if(nums[mid] > nums[high]) low = mid; else high = mid; } breakPoint = low; cout<<breakPoint<<endl; low = 0, high = breakPoint; while(low <= high) { int mid = (low + high)/2; if(nums[mid] == target) return mid; else if(nums[mid] < target) low = mid+1; else high = mid-1; } low = breakPoint+1; high = nums.size()-1; while(low <= high) { int mid = (low + high)/2; if(nums[mid] == target) return mid; else if(nums[mid] < target) low = mid+1; else high = mid-1; } return -1; } };
相关文章推荐
- [LeetCode] H-Index
- 从n个元素的列表中查找最大值(C实现)
- 30秒修复Ubuntu菱形乱码问题
- C : stack memory, goto and “jump into scope of identifier with variably modified type”,
- 电源调试记录六
- ubuntu系统修改终端提示符及设置颜色高亮
- ASP.NET 5 :上传文件(转)
- 高级字符串查找
- 《maven实战》读书笔记
- iOS searchBar最近搜索结果的实现
- 图像处理(二)——使用HSI和HSV颜色空间来调整图像颜色
- PHP程序员 新人求职 平台
- 使用systemb过程
- 2015 CCPC C题(超时代码)
- ubuntu下手把手教你搭建SVN服务器
- Pahom on Water(最大流)
- 基于js与flash实现的网站flv视频播放插件代码
- 电源调试记录五
- POJ3126 (bfs)
- recyclerview设置布局样式