应用于程序的异或运算符

225 阅读1分钟

1. 符号背景

异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为: a⊕b = (¬a ∧ b) ∨ (a ∧¬b) 如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。

2.主要应用场景之一

算法:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 代码:

from functools import reduce
from typing import List

nums = [2, 2, 1, 1, 4, 4, 6]


class Solution:
    def rotate(self, nums: List[int]) -> int:
        return reduce(lambda x, y: x ^ y, nums)

from typing import List

nums = [2, 2, 1, 1, 4, 4, 6]


class Solution:
    def rotate(self, nums: List[int]) -> int:
        r = 0
        for i in nums:
            r ^= i
        return r