找到 k 个数组元素之间具有最小差异

所以基本上我有一个n整数数组(仅限正数)。我想将k这个数组中的整数数量放入一个单独的数组中(k<n),以便这些 k 个数字之间的差异是k数组中所有其他整数对中的最小值。

如果 k 是 1,我只需要返回数组的最大整数。

我想在 JavaScript 中实现它。我了解如何针对值k=1k=2. 但我不明白这个问题的一般概念。

例如:

Array = [6,22,21,63,99,77]

我按升序对这个数组进行了排序。在此之后,我不明白如何进一步进行。


慕码人8056858
浏览 187回答 1
1回答

阿晨1998

对数组进行排序后,它变得类似于滑动窗口问题。从i=0to运行一个循环n-k并检查以下内容。找出arr[i+k]和之间的最小差值arr[i]。发生这种情况的索引是您k想要的整数子集。您可以查看此链接以获取更多详细信息和编码帮助。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript