[leetcode136]只出现一次的数字

题目:
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

参考代码:

    def singleNumber(self, nums: List[int]) -> int:
        x = nums[0]
        for num in nums[1:]:
            x ^= num
        return x

反思:
1、想不出来。
2、本题主要使用异或的特性:
(1)任何数与0异或,不变
(2)相同的两个数异或位0

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容