- 0
- 0
- 约3.56千字
- 约 4页
- 2026-03-30 发布于北京
- 举报
2013【数据处理】面试:求绝对值最小的数(含)
2015-07-28Katrina
有一个已经排序的数组(升序),数组中可能有正数、负数或0,求数组中元素
的绝对值最小的数,要求,不能用顺序比较的方法(复杂度需要小于O(n)),
可以使用任何语言实现
例如,数组{-20,-13,-4,6,77,200},绝对值最小的是-4。
算法实现的基本思路
找到负数和正数的分界点,如果正好是0就是它了,如果是正数,再和左面相邻
的负数绝对值比较,如果是负数,取取绝对值与右面正数比较。还要考虑数组只
有正数或负数的情况。
下图是用Java简单实现的一个算法。
01.
02.publicclassMinAbsoluteValue
03.(
04.privatestaticintgetMinAbsoluteValue(int[]source)
05.(
06.
07.intindex=0;
08.intresult=0;
09.intstartind
原创力文档

文档评论(0)