摘要: (把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1)除了正常情况,还要注意考虑三种特殊情况:(1). 数组是没有发生过旋转的 {1,2,3,4,5,6}(2). 全相等的数组 {1,1,1,1,1,1}(3). 大部分都相等的数组 {1,0,1,1,1,1}二分查找的思路,最开始 如果数组没有旋转过,直接返回第一个元素,就是最小的元素; 如果旋转过,再按后续首先获得 mid。 此时 ,若 (1) 如果 ar[mid] &g 阅读全文
posted @ 2012-09-28 09:30 Itachi7 阅读(340) 评论(0) 推荐(0) 编辑