📅  最后修改于: 2023-12-03 15:40:23.136000             🧑  作者: Mango
给定一个数组,返回一个新的数组,新数组的元素是给定数组中相邻元素的 XOR。
循环遍历数组,依次将相邻两个元素进行 XOR 运算。
def xor_adjacent_elements(arr):
n = len(arr)
res = []
for i in range(n-1):
res.append(arr[i] ^ arr[i+1])
return res
时间复杂度:$O(n)$
利用异或的性质,将相邻两个元素进行 XOR 运算。
def xor_adjacent_elements(arr):
n = len(arr)
res = []
for i in range(n-1):
res.append(arr[i] ^ arr[i+1])
return res
时间复杂度:$O(n)$
arr = [1, 2, 3, 4]
res = xor_adjacent_elements(arr)
print(res) # [3, 1, 7]
本文介绍了查找相邻元素的 XOR 数组的两种算法实现方法:循环遍历法和位运算法。两种方法的时间复杂度均为 $O(n)$,相对而言,位运算法更加简洁易懂。