码迷,mamicode.com
首页 > 其他好文 > 详细

和最接近0的两个数

时间:2018-03-08 12:03:53      阅读:390      评论:0      收藏:0      [点我收藏+]

标签:targe   html   过程   举例   tar   取绝对值   左移   参考资料   https   

  题目描述:有n个数的数组,找出这个数组中的两个数,使得这两个数的和最接近0。

  步骤:

  1 数组元素从小到大排序。

  2 设置两个游标,一个指向第一个数,另一个指向最后一个数。

  3 把两个游标指向的数相加取绝对值,与当前得到的最小值比较,更小则记录。比较两个游标指向的数的绝对值,移动绝对值较大者对应的游标(如果是左侧游标,则向右移动;否则右侧游标向左移动)。重复当前步骤,直到和是0或者两个游标相遇。

  举例:

原始序列:

-2 3 4 -7 9 5

排序后:

-7 -2 3 4 5 9

寻找过程:

res = MAX_INF;

-7 -2 3 4 5 9
|           |         res = 2

-7 -2 3 4 5 9
|         |           res = 2

-7 -2 3 4 5 9
    |     |           res = 2

-7 -2 3 4 5 9
    |   |             res = 2

-7 -2 3 4 5 9
    | |               res = 1

-7 -2 3 4 5 9
    |                 res = 1

 

  参考资料

  有N个数的数组,找出这个数组中的两个数,使得这两个数的和最接近0

和最接近0的两个数

标签:targe   html   过程   举例   tar   取绝对值   左移   参考资料   https   

原文地址:https://www.cnblogs.com/WJQ2017/p/8526994.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!