题解 | #旋转数组的最小数字#

旋转数组的最小数字

https://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba

一行代码搞定!
import java.util.*;

public class Solution {
    public int minNumberInRotateArray(int [] array) {
         return Arrays.stream(array).min().getAsInt();
    }
}
上面那个时间和空间都快逼近爆了哈哈,作死的边缘反复横跳,还是二分才是正解!
import java.util.*;

public class Solution {
    public int minNumberInRotateArray(int [] array) {
         int left = 0,mid = 0;
         int right = array.length - 1;
         while(left < right){
             mid = (left + right) / 2;
             if(array[mid] > array[right])
                 left = mid + 1;
             else if(array[mid] < array[right])
                 right = mid;
             else
                 right--;
         }
         return array[left];
    }
}



全部评论

相关推荐

12-13 20:26
浙江大学 Java
淬月星辉:把浙大的校名加大加粗,把校徽再贴出来,就OK了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
12-18 11:21
优秀的大熊猫在okr...:叫你朋友入职保安,你再去送外卖,一个从商,一个从政,你们两联手无敌了,睁开你的眼睛看看,现在是谁说了算(校长在背后瑟瑟发抖)
选实习,你更看重哪方面?
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务