Python 中的单一数字
假设我们有一个数组 A。在这个数组中有许多数字出现两次。只有一个元素可以找到一次。我们必须从该数组中找到该元素。假设 A = [1, 1, 5, 3, 2, 5, 2],那么输出将为 3。因为每个数字出现两次,所以我们可以执行 XOR 来消除该元素。因为我们知道 y XOR y = 0
为了解决此问题,我们将遵循以下步骤。
- 获取一个变量 res = 0
- 对于数组 A 中的每个元素 e,执行 res = res XOR e
- 返回 res
示例
让我们看看以下实现以更好地理解 −
class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ ans = nums[0] for i in range(1,len(nums)): ans ^=nums[i] return ans ob1 = Solution() print(ob1.singleNumber([1,1,5,3,2,5,2]))
输入
nums = [1,1,5,3,2,5,2]
输出
3
广告