gpt4 book ai didi

objective-c - 在数组中搜索最接近的浮点值

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:47:13 24 4
gpt4 key购买 nike

我在尝试从数组中选取最接近的浮点值时遇到问题。这是一些示例数据;

我将要处理的数字总是具有这种镜像特征。

{-9,-3,-1,0,1,3,9}

如果我搜索 -8.8,我希望返回 -9。

如果我搜索 8.8,我希望返回 9。

过去,在搜索数组以寻找最接近的值时,我会遍历整个数组,跟踪每个数组元素的绝对值减去我想要的值。最小值将获胜。

这个方法在这里对我来说是个问题,因为数组中至少有 2 个数字是“最接近的”(在我上面的示例 9 和 -9 中)

最佳答案

您的数组将始终排序,因此二分查找应该能够将候选集最多减少为 2 个数组值。我只能设想一个挑战,如果原始数组包含 float ,其中一些 float 的差异小于机器精度,就会出现这种挑战。

如何最好地处理这种情况将取决于您的应用程序(如果它一开始并不深奥);但是请注意,所有与您的测试值无法区分的值将在您的数组中形成一个连续的子序列,因此作为一种启发式方法,您可能只选择该子序列的中间元素。

关于objective-c - 在数组中搜索最接近的浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16544292/

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