說我有一個整數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