美文网首页
【2对1错1】旋转数组的最小元素

【2对1错1】旋转数组的最小元素

作者: 7ccc099f4608 | 来源:发表于2019-02-09 19:10 被阅读1次

    https://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba?tpId=13&tqId=11159&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

    日期 是否一次通过 comment
    2019-02-07 20:20 Y 遍历一遍
    2019-02-09 19:09 Y 二分查找
    2019-02-10 12:09 Y 注意下判断条件里两边都要写等号,防止数组全是同一个值

    题目:求先增后减数组中的最小元素
    思路:

    1. 近似有序数组元素的查找,二分法

    1. 二分法

    import java.util.*;
    public class Solution {
        public int minNumberInRotateArray(int[] array) {
            
            if(array.length == 0) {
                return 0;
            }
            
            int sta = 0;
            int end = array.length - 1;
            while(sta + 1 < end) {
                int mid = sta + (end - sta) / 2;
                if(array[mid] >= array[sta]) {
                    sta = mid;
                } else {
                    end = mid;
                }
                
            }
            
            return Math.min(array[sta], array[end]);
        }
    }

    相关文章

      网友评论

          本文标题:【2对1错1】旋转数组的最小元素

          本文链接:https://www.haomeiwen.com/subject/kcjzsqtx.html