【问题标题】:Find k number of array elements having the minimum difference amongst themselves找到k个彼此之间差异最小的数组元素
【发布时间】:2019-10-01 06:41:15
【问题描述】:

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

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

我想在 JavaScript 中实现它。我了解如何为值k=1k=2 运行此问题。但是我没有掌握这个问题的一般概念。

例如:

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

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

【问题讨论】:

  • 你的意思是如果k=10,你想把最大10个整数分成另一个数组吗?

标签: javascript data-structures array-algorithms


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-13
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 2019-08-28
    相关资源
    最近更新 更多