获得CGFloat的最接近值

问题描述 投票:0回答:1

我很好奇是否可以通过他们的现代api迅速实现最接近的价值?

例如:

let x = [1.2, 3.4, 4.5, 6.7, 8.9]
print(x.getClosestValue(3.7) //3.4

我一直在玩地图并缩小地图,但仍然无法解决这个问题。发生的问题是,我还必须遍历整个数组以检测误报。在可能存在多个最接近值的情况下,是否只是想知道如何快速完成此操作?

ios arrays swift swift3 swift2
1个回答
0
投票

Apple还没有直接的api可供使用。如果您不关心时间,则可以对数组进行排序,并使用Array的first(where:)last(where:)方法进行线性搜索。但是,通过排序和使用二进制搜索可以使它更好,它可能只需要多花20行?

© www.soinside.com 2019 - 2024. All rights reserved.