gpt4 book ai didi

algorithm - QuickSelect 能否找到具有重复值的数组中的最小元素?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:53:19 28 4
gpt4 key购买 nike

QuickSelect 算法是否适用于重复值?

如果我有一个数组

int[] array = {9, 8, 7, 6, 6, 6, 5, 0, 1, 2, 3, 4, 5, 5, 7, 200};

即使有重复也能得到第k小的元素吗?

最佳答案

是的,它有效。在每次迭代结束时,所有小于当前主元的元素都存储在主元左侧。

让我们考虑所有元素都相同的情况。在这种情况下,每次迭代最终都会将枢轴元素放在数组的左侧。下一次迭代将继续使用一个元素更短的数组。所以我们需要 k 次迭代来找到第 k 个最小的元素。

关于algorithm - QuickSelect 能否找到具有重复值的数组中的最小元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53237664/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com