经典算法 | 给定一个有n个数的数组,里面每个数出现a次,有一个数出现b次,b小于a,求出这个数。
给定一个有n个数的数组,里面每个数出现a次,有一个数出现b次,b<a,求出这个数。这一题可以使用暴力求解,但是这样的话需要统计每个数出现的次数,空间复杂度为o(n),这里要求空间复杂度为O(1)这里可以使用二进制来解决每个int型除了符号位有32位,因此我们可以统计这n个数的每一位的值,将这些值相加,对于那些出现了a次的数而言,全部数的某一位相加必定是a的倍数,对于那个出现了b次...
原创
2018-09-24 14:40:56 ·
2612 阅读 ·
0 评论