在 Python 中恢复解码异或数组的程序
假设我们有一个包含n个非负整数的隐藏数组arr。现在这个数组被编码到另一个长度为n-1的数组enc中。所以这里enc[i]=arr[i]XORarr[i+1]。如果我们先有编码的enc数组和一个整数,即实际数组的第一个元素,我们必须找到原始数组。
所以,如果输入像enc=[8,3,2,7],first=4,那么输出将是[4,12,15,13,10]。
示例(Python)
让我们看看以下实现以获得更好的理解-
def solve(enc, first): arr = [first] for i in range(0, len(enc)): arr.append(arr[i] ^ enc[i]) return arr enc = [8,3,2,7] first = 4 print(solve(enc, first))
输入
[8,3,2,7], 4输出结果
[4, 12, 15, 13, 10]