说我有一个整数x
如何重新排列矢量,使连续的整数不会彼此相邻?
x = c(1:3,6:7)
我需要重新排序的矢量x
这样,如果任何连续的整数存在于x
,他们不是彼此相邻(如果可能的话)。现在我有一个循环。有没有更好的办法?
x
中的值不一定是唯一的。但现在你可以假设以我想要的方式排列x
将永远是可能的(我实际上需要找出一种方法来确定x
是否可以按照我上面提到的方式排列,但这可能是本身的第二个问题)。
set.seed(42)
while(any(abs(diff(x)) == 1)){
x = sample(x)
print(x)
}
#[1] 7 6 1 2 3
#[1] 1 3 7 6 2
#[1] 7 2 6 1 3
我们可以假设X值是唯一的? – Gregor