[LeetCode] 033. Search in Rotated Sorted Array (Hard) (C++)
指数:[LeetCode] Leetcode 解决问题的指数 (C++/Java/Python/Sql)
Github: https://github.com/illuz/leetcode
033. Search in Rotated Sorted Array (Hard)
链接:
题目:https://leetcode.com/problems/search-in-rotated-sorted-array/
代码(github):https://github.com/illuz/leetcode
题意:
在一个旋转过的有序数组中找一个数。
比方 4 5 6 7 0 1 2 就是一个“旋转过的有序数组”。
分析:
这是单纯二分搜索的变形。
由于旋转过不好定位,所以在找的时候能够先推断一下一个区间是全然有序的还是已经旋转过的,然后分类讨论。
代码:
C++:
class Solution {
public:
int search(int A[], int n, int target) {
int left = 0, right = n;
while (left != right) {
int mid = (left + right) / 2;
if (A[mid] == target)
return mid;
if (A[mid] >= A[left]) {
// [left~mid] is unrotated sorted
if (A[left] <= target && target < A[mid])
right = mid;
else
left = mid + 1;
} else {
// [mid~right] is unrotated sorted
if (A[mid] < target && target <= A[right - 1])
left = mid + 1;
else
right = mid;
}
}
return -1;
}
};
版权声明:本文博主原创文章,博客,未经同意不得转载。
[LeetCode] 033. Search in Rotated Sorted Array (Hard) (C++)的更多相关文章
- LeetCode 033 Search in Rotated Sorted Array
题目要求:Search in Rotated Sorted Array Suppose a sorted array is rotated at some pivot unknown to you b ...
- Java for LeetCode 033 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 7 migh ...
- Java for LeetCode 081 Search in Rotated Sorted Array II
Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...
- [array] leetcode - 33. Search in Rotated Sorted Array - Medium
leetcode - 33. Search in Rotated Sorted Array - Medium descrition Suppose an array sorted in ascendi ...
- LeetCode 81 Search in Rotated Sorted Array II [binary search] <c++>
LeetCode 81 Search in Rotated Sorted Array II [binary search] <c++> 给出排序好的一维有重复元素的数组,随机取一个位置断开 ...
- LeetCode 33 Search in Rotated Sorted Array [binary search] <c++>
LeetCode 33 Search in Rotated Sorted Array [binary search] <c++> 给出排序好的一维无重复元素的数组,随机取一个位置断开,把前 ...
- [leetcode]81. Search in Rotated Sorted Array II旋转过有序数组里找目标值II(有重)
This is a follow up problem to Search in Rotated Sorted Array, where nums may contain duplicates. 思路 ...
- [LeetCode] 81. Search in Rotated Sorted Array II 在旋转有序数组中搜索 II
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...
- Leetcode系列-Search in Rotated Sorted Array
做Leetcode题有一段时间了,但都是断断续续的,到现在才做了30题左右,感觉对自己来说还是有点难度的.希望自己能继续坚持下去,在校招前能解决超过一百题吧. 其实这些题就是用来训练你的解题思路的,做 ...
随机推荐
- Oracle 闪回表实验
工:闪回表实验 1.结构测试表flb_test,数据不小于10000行: TEST_USER1@PROD>create table flb_test(id number,dd date); Ta ...
- CentOS在安装配置 Ngnix_tomcat_PHP_Mysql
安装Nginx yum install nginx 假设显示找不到 nginx包,新建一个文件/etc/yum.repos.d/nginx.repo,内容: [nginx] name=nginx re ...
- Visual Studio 连接不上NuGet 官方程序包源的解决办法
修改dns 即可
- VB高清图标制作方法
我隆重介绍一个软件:ResHacker !!! 这个软件可以修改软件的很多东西包括图标和标题,下面看**作. 运行ResHacker打开要更改图标的exe文件, 图标组--1--右键0--替换资源-- ...
- IDEA内存异常问题
设置工程运行Server VM属性 VM options: -Xms258m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m 如图 :
- Mongodb安装和配置
Mongodb之安装配置 安装 Mongodb的下载地址为Mongodb官网.下载时.你能够选择是安装包或者是压缩包. 下载完毕后.双击安装包并安装. 安装完毕后.你能够在安装文件夹看到下图中所见的文 ...
- UIButton 文字图片排列
UIButton缺省值是:图画-文字水平,所以我们并不需要调整. 1.写作-图画 水平显示,以前的文本,图片后再次 [btn setTitleEdgeInsets:UIEdgeInsetsMake(0 ...
- 集成ejs和angular
我们也有一个系统angular用在应用中单页.正确angular做一些定制.集成seajs.不实用angular自己的模块管理. 只要angular也可单独使用在,一个较小的系统新开发,我不会用前js ...
- POJ 3126 Prime Path(BFS 数字处理)
意甲冠军 给你两个4位质数a, b 每次你可以改变a个位数,但仍然需要素数的变化 乞讨a有多少次的能力,至少修改成b 基础的bfs 注意数的处理即可了 出队一个数 然后入队全部能够由这个素 ...
- iOS开发无第三方控件的援助达到的效果侧边栏
最近的研究iOS程序侧边栏.渐渐的发现iOS该方案还开始采取风侧边栏格该,QQ,今日头条,Path(Path运营商最早的侧边栏app该,效果说成是Path效果),所以就研究了下. 然后发现Git Hu ...