力扣136-只出现一次的数字

发布时间 2023-12-14 14:51:07作者: metasequoiaa

难度:【简单】

1. 第一反应是对每个元素出现的次数计数,然后找到计数为1的元素。但是题目要求额外使用空间为常量,该方法不符合要求。

2. 既然空间复杂度是常数级别,那就尝试用一个变量解决,用一个变量对每个元素计数,当遇到重复的元素时变量置零,但是还是要保存访问过的元素,不符合条件。那么如何能够让该变量“遇到相同的元素后变成0,遇到不同的元素后保留该元素”呢?和异或好像啊!

3. 又想了一遍异或的运算规则,哦原来是这样的,就写了异或的解法。提交后显示“通过”。

4. 为了避免瞎猫碰见死耗子的情况,看了一遍官方题解,也是这么个思路。想拓宽一下思路多学几种解法,也没看到。

5. 官方列举了4种不符合题目要求的解法,hashmap比我自己想的那种方法效率更高,也是更常用的数据结构。

——end——