gpt4 book ai didi

algorithm - O(nlogn) 算法最小化 abs(x+y)

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:19:14 25 4
gpt4 key购买 nike

我在最近的一次采访中被问到一个问题。我无法解决这个问题。对算法设计感兴趣的人可能会喜欢这个问题。

给定一个实数数组 S,在 S 中找到一对使 |x+y| 最小的数字 x&y。同样的算法应该设计为在 O(nlogn) 中运行。

我找不到解决这个问题的方法。谁能指导我朝着正确的方向解决这个问题?任何建议将不胜感激。

最佳答案

对数字进行排序。对每个元素 x 进行二分查找 -x。您得到最接近的数字 y 以最小化 |x+y|。

注意:您还可以优化第二部分。从第一个和最后一个元素的索引开始:i=0,j=n-1。在每次迭代中计算和,更新最小和,如果 sum<0 则递增 i 或递减 j(当 sum>=0 时)。

关于algorithm - O(nlogn) 算法最小化 abs(x+y),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16199848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com