旋转数组中的最小数字

风格不统一 提交于 2020-01-22 20:02:35
  1. 这道题感觉坑还是很多的,我有很多条件都没有考虑清楚
  2. if判断条件 对mid 和high 还有low 的递增和递减 盲目的去设计,导致执行多次都没有成功
      public int minNumberInRotateArray(int [] array) {
        if(array.length==0){
            return 0;
        }
        int left=0;
        int right=array.length-1;
        int mid=0;
        while(left<right){
            mid=left+(right-left)/2;
            if(array[mid]>array[right]){//包括array
                left=mid+1;
            }else if(array[mid]==array[right]){
                right=right-1;
            }else {
             	right=mid;
            }
        }
        return array[left];
    }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!