查找和排序1:旋转数组的最小数字
2021-02-17 18:20
标签:排序 code lse min port 出现 bsp 最小值 list 思路2:二分?整体复杂度O(logn) 注意!!二分仅限于数组没有相同元素的时候,如果有相同元素只能遍历数组。(题目没有说明“递增”是指“非递减”还是“严格递增”) 查找和排序1:旋转数组的最小数字 标签:排序 code lse min port 出现 bsp 最小值 list 原文地址:https://www.cnblogs.com/xuechengmeigui/p/12695391.html题目描述
输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。
例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。import java.util.ArrayList;
public class Solution {
public int minNumberInRotateArray(int [] array) {
if(array.length==0) return 0;
int temp=0;
for(int i=0;i+1
import java.util.ArrayList;
public class Solution {
public int minNumberInRotateArray(int [] array) {
if(array.length==0) return 0;
int left=0,right=array.length-1;
while(leftright){
int mid=left+(right-left)/2;
if(array[mid]>array[right])//从mid+1位置往右边找
left=mid+1;
else if(array[mid]