选择一个随机数,总是随着所选择的最后一个随机数增加值

我将如何有效地采取值1:n的1乘1递增随机样本,确保每个随机采样值始终高于
以前的价值?

例如.:

For the values 1:100, get a random number, say which is 61. (current list=61)
Then pick another number between 62 and 100, say which is 90 (current list=61,90)
Then pick another number between 91 and 100, say which is 100.
Stop the process as the max value has been hit (final list=61,90,100)

我被困在循环的土地上,以这种笨重的方式思考:

a1 <- sample(1:100,1)

if(a1 < 100) {
    a2 <- sample((a+1):100,1)
        }

etc etc...

我想报告最终的向量是a1,a2,a(n)的串联:

result <- c(a1,a2)

即使这听起来像是一个家庭作业问题,但事实并非如此.我很幸运地离开了许多年前的家庭作业.

最佳答案
晚会很晚,但我认为这会震撼你的世界:

unique(cummax(sample.int(100)))

转载注明原文:选择一个随机数,总是随着所选择的最后一个随机数增加值 - 代码日志