给定一个数字数组和一个小于或等于数组大小的整数 k ,我必须定义一个计算最小间隔的算法(定义为第一个和最后一个元素之间的差异)这样 k 元素就在这个区间内。它应该在O(n * log(n))中运行。
我提出了这个解决方案:
(1)对数组进行排序并从第一个元素开始
(2)计算此元素与数组[i +(k-1)]
之间的差异(3)如果更小则更新结果并获得数组[i + 1]。
它似乎有用,但我不知道它是否是O(n log(n))。我知道排序是O(n log(n)),但问题在于我正在使用的for循环。