首页 > 试题广场 >

在有序旋转数组中找到最小值

[编程题]在有序旋转数组中找到最小值
  • 热度指数:1467 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
有序数组arr可能经过一次旋转处理,也可能没有,且arr可能存在重复的数。例如,有序数组[1, 2, 3, 4, 5, 6, 7],可以旋转处理成[4, 5, 6,  7, 1, 2, 3]等。给定一个可能旋转过的有序数组arr,返回arr中的最小值。
[要求]
期望复杂度为

输入描述:
第一行一个整数N表示数组大小。
接下来N个数表示数组内的数。


输出描述:
输出一个整数表示答案
示例1

输入

7
1 2 3 4 5 6 7

输出

1
示例2

输入

7
4 5 6 7 1 2 3

输出

1

备注:

这道题你会答吗?花几分钟告诉大家答案吧!