用於在 Python 中恢復解碼 XOR 陣列的程式
假設我們有一個隱藏陣列 arr,其中包含 n 個非負整數。該陣列現在被編碼到另一個長度為 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 的陣列
for i 在 0 到 enc 的大小 - 1 之間,執行
在 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]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP