0

我有一个复杂的问题。我目前正在尝试编写一个非常简单的路径查找版本,为此我需要一种方法来生成一个范围内的数字,并且每个数字必须与其他数字不同,并且大于最后一个数字。我该怎么做呢?所以输出看起来像:

1,5,6,9,15,18

4

2 回答 2

1

创建一个随机生成器函数:

public static int randInt(int min, int max) {

    // Usually this can be a field rather than a method variable
    Random rand = new Random();

    // nextInt is normally exclusive of the top value,
    // so add 1 to make it inclusive
    int randomNum = rand.nextInt((max - min) + 1) + min;

    return randomNum;
}

(代码来自Greg Case 的回答)。

在任何你想要的地方调用它并检查如下:

int a;

a=randInt(min,max);

并在下一次解析之前生成的值,例如:

randInt(a,  max);
于 2013-08-25T20:53:29.713 回答
0

使用水库采样从您的范围中选择n 个数字。由于您正在按顺序遍历范围,因此对结果列表进行了排序。

于 2013-08-25T20:54:10.183 回答