javascript - 找到 k 个数组元素,它们之间的差异最小

标签 javascript data-structures array-algorithms

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

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

我想用 JavaScript 实现这个。我了解如何针对值 k=1 运行此问题和k=2 。但我不明白这个问题的一般概念。

例如:

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

我按升序对该数组进行排序。此后我不明白如何进一步进行。

最佳答案

对数组进行排序后,它变得类似于滑动窗口问题。

运行从 i=0n-k 的循环并检查以下内容。

找出arr[i+k]arr[i]之间的最小差异。发生这种情况的索引是您想要的 k 个整数的子集。 您可以查看这个link了解更多详细信息和编码帮助。

关于javascript - 找到 k 个数组元素,它们之间的差异最小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58179316/

相关文章:

需要 JavaScript 帮助

javascript - 如何使用 jQuery 手动滚动 div?

c++ - 如何在 .cpp 文件中使用 Cuda 数据结构

java - java中选择哪种数据结构来表示线程注释?

algorithm - 生成前 M 个 N-Bonacci 数的数组

algorithm - 插入排序——阅读麻省理工学院算法简介时遇到的麻烦

javascript - 使用 intel.xdk.file.uploadToServer 时的其他参数?

javascript - jQuery 在滚动时增加和减少值

data-structures - F# 不可变可变大小窗口数据结构

algorithm - 查找向量中元素的位置