旋转数组中的最小数字
2017-08-08 23:39
218 查看
把一个递增排序数组的前几个元素移动至末尾,找出最小的数字。
例如:
[3,4,5,1,2]就是数组[1,2,3,4,5]的旋转。找出1。
例如:
[3,4,5,1,2]就是数组[1,2,3,4,5]的旋转。找出1。
function Minnum(arr){ if(!Array.isArray(arr) || arr.length <= 1) { return arr; } var left = 0, right = arr.length - 1 mid = left; while(arr[left] >= arr[right]){ if(right-left === 1){ mid = right; break; } mid = Math.floor((left + right)/2); if(arr[left] === arr[right]&&arr[left] === arr[mid]){ //只能顺序查找,考虑[1,1,1,0,1]; } if(arr[mid]>=arr[left]){ left = mid; } else if(arr[mid]<arr[left]){ right = mid; } } return arr[mid]; }
相关文章推荐
- 旋转数组的最小数字
- 剑指Offer 旋转数组的最小数字
- java-旋转数组的最小数字
- 剑指offer系列(7)——旋转数组的最小数字
- 面试题8:旋转数组的最小数字
- leetcode解题之153&154. Find Minimum in Rotated Sorted Array版(在旋转的数组中查找最小数字)
- 旋转数组的最小数字
- 旋转数组的最小数字(剑指Offer 第 6 题)
- 剑指offer 旋转数组的最小数字
- 算法练习六:旋转数组的最小数字
- 剑指offer面试题 旋转数组的最小数字
- 剑指offer--旋转数组的最小数字
- 剑指offer—旋转数组的最小数字
- 剑指Offer面试题8旋转数组的最小数字(二分查找)附带快排和按年龄排序
- 查找旋转数组的最小数字 JAVA实现
- 剑指offer:旋转数组的最小数字
- 剑指offer--旋转数组的最小数字
- 牛客网剑指offer-旋转数组的最小数字
- 剑指offer第8题:旋转数组的最小数字
- 剑指offer-旋转数组的最小数字