在 Python 中查找解码异或排列的程序
假设我们有一个数组enc。有一个数组perm是第一个n(odd)正整数的排列。这个列表将被编码到长度为n-1的数组enc中,这样enc[i]=perm[i]XORperm[i+1]。我们必须找到原始数组perm。
所以,如果输入像enc=[2,5,6,3],那么输出将是[7,5,0,6,5],这里[7XOR5XOR0XOR6XOR5]=[2,5,6,3]
示例
让我们看看以下实现以获得更好的理解-
def solve(enc):
n = len(enc)
result = [0] * (n+1)
x = 0
for i in range(1, n+2):
x ^= i
result[0] = x
for i in range(1, n+1, 2):
result[0] ^= enc[i]
for i in range(1, n+1):
result[i] = result[i-1] ^ enc[i-1]
return result
enc = [2,5,6,3]
print(solve(enc))输入
[2,5,6,3]输出结果
[7, 5, 0, 6, 5]
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下