我知道他们说什么预优化是所有邪恶的根源但是我对此更加好奇,因为最有效的方法是什么。只知道一点知识池,你知道吗?查找列表中最接近的数字的最有效方法
基本上我有一个整数的集合,像这样:
final List<Integer> list = ImmutableList.of(1, 5, 10, 27, 57, 193);
现在我想找到最接近的数字,四舍五入。因此,例如我有数字192.所以从这个列表返回的值将是“57”。如果数字是58,则同样适用。它只是找到下一个最低的数字。
目前我从头开始循环查找列表,使用for
,然后返回列表的索引,这将是我想要的数字。我只是好奇,是否有更有效的方法来做到这一点。
列表是否已排序?这是否一致哈希? –
你有没有听说过quicksort? –
从我记忆中,通过大O符号,一个循环是非常有效的。只需返回减法的绝对值,并返回最接近的数字索引。 –