我很好奇是否可以通过他们的现代api迅速实现最接近的价值?
例如:
let x = [1.2, 3.4, 4.5, 6.7, 8.9]
print(x.getClosestValue(3.7) //3.4
我一直在玩地图并缩小地图,但仍然无法解决这个问题。发生的问题是,我还必须遍历整个数组以检测误报。在可能存在多个最接近值的情况下,是否只是想知道如何快速完成此操作?
Apple还没有直接的api可供使用。如果您不关心时间,则可以对数组进行排序,并使用Array的first(where:)
或last(where:)
方法进行线性搜索。但是,通过排序和使用二进制搜索可以使它更好,它可能只需要多花20行?