在C++中查找数组中只出现一次的元素,其他每个元素都出现两次
假设我们有一个数组A。在这个数组中,不同的数字出现两次。但是只有一个数字出现一次。我们必须从该数组中找到该元素。
假设 A = [1, 1, 5, 3, 2, 5, 2],则输出将为 3。由于每个数字都出现两次,我们可以执行异或运算来消除该元素,因为我们知道 y XOR y = 0
为了解决这个问题,我们将遵循以下步骤。
取一个变量 res = 0
对于数组 A 中的每个元素 e,执行 res := res XOR e
返回 res
示例
让我们看看下面的实现,以便更好地理解:
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]
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
输出
3
广告