查找在数组中一次出现的元素,其中每个其他元素在C ++中出现两次
假设我们有一个数组A。在这个数组中,有不同的数字出现两次。但是只有一个数字出现一次。我们必须从该数组中找到该元素。
假设A = [1、1、5、3、2、5、2],则输出将为3。由于每个数字都有两次,因此我们可以执行XOR运算以消除该元素。因为我们知道y XOR y = 0
为了解决这个问题,我们将按照以下步骤进行。
取一个变量res = 0
对于数组A中的每个元素e,预执行res:= res XOR e
返回资源
例
让我们看下面的实现以更好地理解-
class Solution(object):def singleNumber(self, nums):
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]))
输入项
[1,1,5,3,2,5,2]
输出结果
3
以上是 查找在数组中一次出现的元素,其中每个其他元素在C ++中出现两次 的全部内容, 来源链接: utcz.com/z/338590.html