摘要:
假设数组是从小到大排序,数值可能为负数、0、正数。思路一可以一次性遍历一遍,找出绝对值最小值,此时时间复杂度为O(N),缺点是没有利用数组是有序的这一特点。思路二数组有序,可以利用二分查找的特性。中间的数是正数,往后找;中间的数是负数,往前找。问题的本质是找到正数的最小值,或负数的最大值,分析以下集中情况数组为a[], 数组大小为n.n=1,没有商量的余地,直接返回a[0] * a[n-1] >= 0,说明这些元素同为非正或同为非负。要是a[0]>=0,返回a[0];否则返回a[n-1]a[0] * a[n-1] =0说明a[mid]也为非正,缩小范围low=mid;如果a[mid 阅读全文
posted @ 2014-03-02 10:23
jihite
阅读(5955)
评论(5)
推荐(0)

浙公网安备 33010602011771号