排序 Sort
def bubble_sort_xor(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
# 使用 XOR 交换两个变量的值
arr[j] = arr[j] ^ arr[j+1]
arr[j+1] = arr[j] ^ arr[j+1]
arr[j] = arr[j] ^ arr[j+1]
return arr
# 测试代码
arr = [64, 34, 25, 12, 22, 11, 90]
sorted_arr = bubble_sort_xor(arr)
print("排序后的数组:", sorted_arr)
XOR 操作节省空间(^为XOR操作):
0 ^ N = N, N ^ N = 0
XOR满足交换律
arr[a] = arr[a] ^ arr[b]: a = a ^ b, b = b
arr[b] = arr[a] ^ arr[b]: a = a ^ b, b = a
arr[a] = arr[a] ^ arr[b]: a = b, b = a
题目:一个数出现奇数次,其它数出现偶数次
方法:对所有数使用XOR,剩下的就是那个奇数
插入排序
{{weixiao}}
😎
111