สมมติว่าเรามี arr อาร์เรย์ที่ซ่อนอยู่โดยมี n จำนวนเต็มไม่เป็นลบ ตอนนี้อาร์เรย์นี้ถูกเข้ารหัสเป็นอาร์เรย์อื่นที่มีความยาว n-1 ดังนั้นที่นี่ enc[i] =arr[i] XOR arr[i+1] ถ้าเรามีการเข้ารหัสอาร์เรย์และจำนวนเต็มก่อน นั่นคือองค์ประกอบแรกของอาร์เรย์จริง เราต้องหาอาร์เรย์เดิม
ดังนั้น หากอินพุตเป็นเหมือน enc =[8,3,2,7] อันดับแรก =4 ผลลัพธ์จะเป็น [4, 12, 15, 13, 10]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
arr :=อาร์เรย์ที่มีองค์ประกอบเพียงตัวเดียวก่อน
-
สำหรับฉันในช่วง 0 ถึงขนาดของ enc - 1 ทำ
-
ใส่ arr[i] XOR enc[i] ที่ท้าย arr
-
-
กลับ 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]