文章目录
- 1.只出现一次的数字Ⅰ
- 2.只出现一次的数字Ⅱ
- 3.只出现一次的数字Ⅲ
1.只出现一次的数字Ⅰ
a.
b.思路
????数组中的每一个数都与ret进行异或。
c.注意
????相同的数进行异或,结果为零。
????任何数与零进行异或,结果为本身。
d.代码
2.只出现一次的数字Ⅱ
a.
b.思路
????用count统计每个数每一位的1的个数。
????count%3的结果 放入当前位数。
c.图解
d.代码
e.注意:
????count的类型应该是long long或者long,如果用int 会一个这样的错误。左移31位不能用"int"表示。
3.只出现一次的数字Ⅲ
a.
b.思路
????数组中的每一个数都与ret进行异或。此时的ret的值等于两个只出现一次的数异或的结果。
????在ret中找一个为1的位,记录位数。通过位数来对数组进行分类。
c.图解
d.代码
e.注意
????j的类型应该为long long 或者long。
今天的算法题就分享到这里了,谢谢你的浏览,如果对你有帮助的话,可以给个关注,顺便来个赞。