Search in Rotated Sorted Array -- Leetcode
来源:互联网 发布:淘宝买手机靓号可靠吗 编辑:程序博客网 时间:2024/06/04 18:18
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.
class Solution {public: int search(int A[], int n, int target) { int hi,low; low=0; hi=n-1; while(low<=hi){ int mid=(hi+low)/2; if(A[mid]==target) return mid; else if(A[low]<=A[mid]){ if(A[low]<=target && target<A[mid]) hi=mid-1; else low=mid+1; } else{ if(A[mid]<target && target<=A[hi]) low=mid+1; else hi=mid-1; } } return -1; }};
总结:
1. 关键思路:二分搜索
2. 先判断前半部分是不是递增的,当是递增时,把搜索区间变为前半部分,看target是否在区间内,如果不在怎把搜索区间设为后半部分。
3. 当前半部分不是递增的,判断target是否在后半区间内,若在在搜索区间设为该区间,否则在另外区间继续搜索。
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
- liferay 学习网站 作者为 胡启稳
- 获取DLL程序详解
- IOS动画学习
- XAMPP: Access forbidden!
- UIViewController生命周期
- Search in Rotated Sorted Array -- Leetcode
- Linux 查看用户执行过的命令,运行特定历史命令
- 黑马程序员-TCP上传图片-多线程并发上传图片-客户端并发登陆-自定义服务器
- 第17周项目6学生成绩统计(1)-(3)
- 豆瓣电台api
- 关于JNDI那点事
- 第十七周项目四——日期结构体(1)该年第几天
- Android开源项目分类汇总
- OpenStack 最小化安装配置(九):计算节点的服务安装