finding the closest Int value from a set of int values in objective c
Objective C数学函数问题
我有一个x值要与集合中的其他值进行比较,然后确定我的x值与该集合中的哪个值最接近。
例如,假设我有整数5、10、15、20、25。
确定这些数字中最接近7的最佳方法是什么?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | int closestDistance = INT32_MAX; int indexOfClosestDistance = -1; int x = 7; for (int i=0; i < [yourArray count]; i++) { int num = yourArray[i]; int diff = abs(num - x); if (diff < closestDistance) { closestDistance = diff; indexOfClosestDistance = i ; } } |
祝你好运
Objective-C和Cocoa都无法为您提供解决方案。您可以将整数存储在
如果要多次探测数组,请事先对其进行排序,然后对每个探测使用二进制搜索(标准C函数
最简单的方法是从较大的数字中减去较小的数字。因此,您需要先比较两个数字,然后再进行简单的减法。因此,您会看到10-7离3远,而7-5离2远。