gpt4 book ai didi

java - 获取数组中的n个随机元素

转载 作者:行者123 更新时间:2023-12-02 06:25:52 25 4
gpt4 key购买 nike

我想从我的数组中获取 n 个唯一的随机元素。

例如:

if n = 4;

我想随机获得

array[0], array[3], array[7], array[2]

问题是获取随机整数很容易导致冲突(伪代码):

for n times
{
r = generateRandomInteger within n-1
list.push(array[r]); //array[r] can be the same.
}

冲突比比皆是,尤其是在小型阵列上。

解决这个问题的特别优雅的方法是什么?

最佳答案

您可以使用Set而不是List来消除重复项。因此,您还需要更改循环条件。像这样的事情

while set.size() is less than n
{
r = generateRandomInteger within n-1
set.add(array[r]); //if its the same, it won't be added to the set and the size won't increase
}

关于java - 获取数组中的n个随机元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20537231/

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