首页 > 试题广场 >

旋转数组中的最小元素

[编程题]旋转数组中的最小元素
  • 热度指数:7864 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。

输入描述:
一个排好序的数组的一个旋转
数组长度不超过1000000


输出描述:
该数组的最小值
示例1

输入

3 4 5 1 2

输出

1
头像 那就来一个吧
发表于 2019-09-29 18:57:43
旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 旋转数 展开全文
头像 牛客题解官
发表于 2020-06-05 17:22:53
题解 题目难度:简单 知识点:排序、查找 解题思路:这道题看起来就是找最小值,如果从头到尾进行比较是一种思路,缺点时总体的计算次数较多;进一步思考由于数是有一定大小规则进行排序的,所以可以使用二分法进行计算。 方法一(简单粗暴一个一个比较) 这道题就是输出较小数据,直接一个一个比较大小,然后输出符合 展开全文