在Python中编写解码XOR数组的程序

在Python中编写解码XOR数组的程序

假设我们有一个包含n个非负整数的隐藏数组arr。现在,将此数组编码为另一个长度为n-1的数组enc。所以这里enc[i]=arr[i] XOR arr[i+1]。如果我们有编码的数组enc和一个整数first,该数是实际数组的第一个元素,我们必须找到原始数组。

因此,如果输入如下 enc=[8,3,2,7],first=4,则输出将为[4,12,15,13,10]。

为了解决这个问题,我们将遵循以下步骤−

  • arr:=仅有一个元素first的数组

  • 对于range 0到enc大小-1的范围内的i,执行以下操作

    • 在arr的末尾插入arr[i] XOR enc[i]
  • 返回arr

示例(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教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程