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

旋转数组的最小数字

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];
    }
}



全部评论

相关推荐

强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
05-12 17:28
已编辑
门头沟学院 硬件开发
ldf李鑫:不说公司名祝你以后天天遇到这样的公司
点赞 评论 收藏
分享
我的人生算是废了,23届裸辞空档一年,存款只能坚持几个月了,找不到像样的工作了,人生何去何从。
梦想是成为七海千秋:这大环境下为什么要裸辞呀,风险真的挺大的,而且社招的话23届没有太多的竞争力,不过既然已经裸辞了就不要焦虑慢慢找。
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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