Search in Rotated Sorted Array
来源:互联网 发布:ubuntu安装mysql失败 编辑:程序博客网 时间:2024/06/05 23:03
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.
思路:这道题算是二分查找的升级版。每次从中间阶段,至少一段有序,一段无序,如果target是在有序一段,好办,直接二分。如果target在无序一段,递归。代码如下:
class Solution {public: int search(int A[], int n, int target) { int L=0, R=n-1, M;while (L<=R) {M = (L+R)/2;if (target==A[M]) {return M;}if (A[L]<=A[M]) { //[L,M]有序if (A[L]<=target && target<A[M]) {R = M - 1;}else {L = M + 1;}}else { //[M,R]有序if (A[M]<target && target<=A[R]) {L = M + 1;}else {R = M - 1;}}}return -1; }};
0 0
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- mysql中利用DATE_FORMAT方法 实现统计每日/每月的新增用户
- 一个错误信息提示页面
- 【jquery事件对象event】| jqeury bind 绑定事件与 unbind删除绑定事件| pageX pageY
- 第6周项目2-我的数组类
- 算法复习(1) 堆排序
- Search in Rotated Sorted Array
- Rotate Array--LeetCode
- MySQL执行计划解读
- web项目之BBS发布至新浪云配置修改以及sql语句修改问题小结
- Java设计模式——依赖倒转原则
- java中IO类的各种操作
- pat中文练习题:简单题:1001. 害死人不偿命的(3n+1)猜想
- 新人,报道(*^__^*)
- Session过期后自动跳转到登陆页