描述
有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。
数据范围:1≤�≤100001≤n≤10000,数组中任意元素的值: 0≤���≤100000≤val≤10000
要求:空间复杂度:�(1)O(1) ,时间复杂度:�(����)O(logn)
示例1
输入:
[3,4,5,1,2]
返回值:
1
示例2
输入:
[3,100,200,3]
返回值:
3
解:
import java.util.ArrayList;
import java.util.Arrays;
public class Solution {
public int minNumberInRotateArray(int [] array) {
Arrays.sort(array);
return array[0];
}
}
求旋转数组中的最小值
该问题旨在找到一个非降序旋转数组中的最小值,要求在O(1)的空间复杂度和O(logn)的时间复杂度下解决。给出的解决方案通过先对数组排序,然后返回第一个元素作为最小值,但这种方法并未满足时间复杂度要求。
2642

被折叠的 条评论
为什么被折叠?



