标签:style 没有 二分查找 div ext array font 一半 情况
public int findMin(int[] num) { if(num == null || num.length==0) return 0; int l = 0; int r = num.length-1; int min = num[0]; while(l<r-1) { int m = (l+r)/2; if(num[l]<num[m]) { min = Math.min(num[l],min); l = m+1; } else if(num[l]>num[m]) { min = Math.min(num[m],min); r = m-1; } else { l++; } } min = Math.min(num[r],min); min = Math.min(num[l],min); return min; }有朋友可能注意到上面的实现还有第三种情况,就是左边界和中间是相等的情况。这道题目事实上是不用发生的,由于元素没有反复。而Find Minimum in Rotated Sorted Array II这道题这考虑了元素反复的情况,这里仅仅是为了算法更加一般性。就把那个情况也包括进来,有兴趣的朋友能够看看Find Minimum in Rotated Sorted Array II对反复元素的分析哈。
Find Minimum in Rotated Sorted Array -- LeetCode
标签:style 没有 二分查找 div ext array font 一半 情况
原文地址:http://www.cnblogs.com/cxchanpin/p/6905494.html