P91. 旋转有序数组的搜索

leetcode 33 lintcode 62 数组 二分搜索 讨论

温馨提示:您没有权限查看当前视频。 立即购买观看视频

描述

这个题目说的是,给你一个旋转有序的整数数组,和一个目标值,你要在数组里找到目标值,然后返回它的下标。如果找不到则返回 -1。注意:数组中不存在重复数字。旋转有序数组是由一个原来有序的数组通过左旋或右旋部分数字到另一端形成的。注意,这里我们讨论的有序默认都指递增排序。

比如说,原来的有序数组是:

1, 2, 3, 4, 5, 6, 7, 8

把 1, 2, 3, 4 旋转到数组右边,得到的数组 a 是:

5, 6, 7, 8, 1, 2, 3, 4

假如给你的目标值是 6,则要返回它的下标 1;假如给你的目标值是 0,0 不在这个数组中,因此返回 -1。

相关视频:36. 二分搜索

关于 AlgoCasts

AlgoCasts 旨在用心做好每一个算法讲解视频。每个视频包含两个部分:题目的剖析讲解以及编码,力求在讲解清楚到位的基础上,尽可能地保持视频精简短小,让大家可以在碎片时间里进行学习,并收获这些算法题背后的思想与乐趣。