在 Python 中恢复解码异或数组的程序

假设我们有一个包含 n 个非负整数的隐藏数组 arr。现在这个数组被编码到另一个长度为 n-1 的数组 enc 中。所以这里 enc[i] = arr[i] XOR arr[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]

以上是 在 Python 中恢复解码异或数组的程序 的全部内容, 来源链接: utcz.com/z/341370.html

回到顶部