Algorithm 如何用[1,N]个整数生成非连续序列?
我必须做一个非连续整数序列Algorithm 如何用[1,N]个整数生成非连续序列?,algorithm,sequence,Algorithm,Sequence,我必须做一个非连续整数序列a_1,a_2,…,a_n,它满足 {a_1,a_2,…,a_n}∈ [1,n] | a|i-a|(i-1)|>1 怎么做?谢谢你的提示或帮助。谢谢:)当元素少于4个时,这是不可能做到的 当有4个或更多元素时,我们可以这样构造序列: 如果n是偶数: [n-1, n-3, ... , 1, n, n-2, ..., 2] 如果n是奇数: [n, n-2, ..., 1, n-1, n-3, ..., 2] 现在n等于或大于4,| 1-n |=| n-1 |>=3,|
a_1,a_2,…,a_n
,它满足
{a_1,a_2,…,a_n}∈ [1,n]
| a|i-a|(i-1)|>1
怎么做?谢谢你的提示或帮助。谢谢:)当元素少于4个时,这是不可能做到的 当有4个或更多元素时,我们可以这样构造序列: 如果n是偶数:
[n-1, n-3, ... , 1, n, n-2, ..., 2]
如果n是奇数:
[n, n-2, ..., 1, n-1, n-3, ..., 2]
现在n等于或大于4,| 1-n |=| n-1 |>=3,| 1-(n-1)|=| 1-n+1 |=| n |>=4,序列满足约束。
1,3,5,…,2k-1,2,4,…,2k
(当然,除非您想要随机,然后明确指出它)。另外-指示序列是否应该是置换(如果不是,1,3,1,3,1,…
也可以)