转载自:http://www.acmerblog.com/leetcode-solution-search-in-rotated-sorted-array-ii-6210.html

题目描述

Suppose a sorted array is rotated at some pivot unknown to you beforehand.

(i.e.,0 1 2 4 5 6 7might become4 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.

题目描述

我们要编写一个类似二分搜索的程序,虽然给我们的数列是打乱的,但数列总体还是有规律的,数列类型可以分成两种,像题目中说的那样,一种是依次递增的,另一种是把前半部分放到了后面,
我找到最容易理解的代码如下,代码中测试前半部分
// LeetCode, Search in Rotated Sorted Array II
// 时间复杂度O(n),空间复杂度O(1)
class Solution {
public:bool search(int A[], int n, int target) {int first = 0, last = n;while (first != last) {const int mid = (first + last) / 2;if (A[mid] == target)return true;if (A[first] < A[mid]) {if (A[first] <= target && target < A[mid])last = mid;elsefirst = mid + 1;} else if (A[first] > A[mid]) {if (A[mid] < target && target <= A[last-1])first = mid + 1;elselast = mid;} else//skip duplicate onefirst++;}return false;}
};

leetcode-search-in-rotated-sorted-array相关推荐

  1. LeetCode Search in Rotated Sorted Array II

     Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would t ...

  2. LeetCode Search in Rotated Sorted Array II -- 有重复的旋转序列搜索

    Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...

  3. leetcode - Search in Rotated Sorted Array II

    Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...

  4. leetcode: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 ...

  5. [leetcode]Search in Rotated Sorted Array @ Python

    原题地址:https://oj.leetcode.com/problems/search-in-rotated-sorted-array/ 题意: Suppose a sorted array is ...

  6. [leetcode]Search in Rotated Sorted Array II

    这道题目仍然是二分,去掉不可能的部分.用了递归,在重复的情况下,就是有可能最左边的和最右边的相等,此时就不能直接判断出区间外的元素,左右两边同时递归.有重复元素的时候,在bad case的时候会退化为 ...

  7. [LeetCode] Search in Rotated Sorted Array

    二分 : 判断条件 当a[left] <= a[mid]时,可以肯定a[left..mid]是升序的 循环有序 一共有以下两种情况 第一种  / / / / / / 条件: (A[mid] &g ...

  8. LeetCode 33. Search in Rotated Sorted Array

    问题链接 LeetCode 33. Search in Rotated Sorted Array 题目解析 给定一个 "升序" 的 无重复 数组,从中寻找目标值."升序& ...

  9. 【leetcode】Search in Rotated Sorted Array II(middle)☆

    Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...

  10. leetcode 81 Search in Rotated Sorted Array II ----- java

    Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...

最新文章

  1. 人工智能专业国内排名前30的高校,与你想的一样吗?
  2. 网上整理的jQuery插件开发教程
  3. 全球与中国聚硫聚合物市场发展前景与投资可行性分析报告2021年版
  4. spring框架(六)之拦截器
  5. 一个OSPF的区域备份在手册里看到的
  6. 【补】day3 table标签
  7. 按键精灵注册服务器,按键精灵网页注册脚本教程
  8. 软件开发团队的脓包(1-3)皇帝的新装、口号党、废话迷
  9. 基于MDK1808-EK_T70开发板的miniGUI应用程序演示03: ads1110热电偶温度传感器
  10. GMT、UTC、DST、CST时区
  11. 野火学习笔记(13) —— USART —串口通讯
  12. java工程名前有红色感叹号
  13. python 匹配字符串中所有单词并返回下标,python返回字符下标
  14. (VC++2013)MFC自绘圆形按钮
  15. esim办理出现差错_中国联通科普eSIM卡使用攻略 关于eSIM卡常见问题答疑
  16. 在Java中操作MySQL(JDBC)
  17. 图像处理+帧差法实现对车辆的识别框选
  18. 速读《现代软件工程----构建之法》有感
  19. EPSON L801打印机墨水显示插插和感叹号的解决方法。
  20. 韩国HipHop基础舞步在线观看和下载

热门文章

  1. mysql scope runtime_maven scope provided和runtime的例子
  2. 中countif函数_countif与countifs:单条件与多条件计数适用场景
  3. python手机编译器可以干什么_Python是什么?Python学习用哪些编译器?
  4. 我,大学没毕业,在OpenAI搞AI,想教教你如何提升“研究品味”
  5. Spark Streaming + Elasticsearch构建App异常监控平台
  6. 论文浅尝 - ACL2020 | 利用知识库嵌入改进多跳 KGQA
  7. 用训练好的paddlepaddle模型继续训练模型和验证数据ckpt
  8. docker的简单操作和端口映射
  9. 说实话:中文自然语言处理(知识图谱)的N个真实情况
  10. 2020年跨行业跨领域工业互联网平台