Python算法指南:程序员经典算法分析与实现
上QQ阅读APP看书,第一时间看更新

例77 搜索旋转排序数组目标值Ⅰ

1. 问题描述

假设有一个按未知旋转轴旋转的数组(例如,[0,1,2,4,5,6,7],可能旋转变成[4,5,6,7,0,1,2])。给定一个目标值进行搜索,如果在数组中找到目标值,则返回数组中的索引位置,否则返回-1。假设数组中不存在重复的元素。

2. 问题示例

给出[4,5,1,2,3]和target=1,返回2;给出[4,5,1,2,3]和target=0,返回-1。

3. 代码实现

4. 运行结果

输入:[1,2,3,4,5] 5

输出:4

输入:[6,7,8,9,10] 8

输出:2