我得到一个不一定已排序的整数数组。我必须找到一对 no,其彼此之间的差异与数组中任何其他对 no 相比最小。时间效率应该是O(n)。
我很确定您无法获得解决此问题的通用线性时间算法!
但是,由于您有(有界)整数,因此您可以稍微作弊并从使用基数排序对数组进行排序开始,这是线性时间!然后找到最接近的相邻对,它又是线性的。