Thanks to Sophia!!!
problem:https://leetcode.com/problems/single-number-ii/
tips:
1.将异或改成模三加法,不进位,然后对所有位进行统计。
2.先hash再进行模三加法,可以省掉很多不必要的计算。
3.用每一位的统计结果作为筛选器,筛选出更小的子集,然后再进行筛选,知道集合只剩一个数,就是那个要找的数。
论代码简洁的重要性。此外,注意,数据量很大的情况下,对所有位进行统计,会导致溢出,切记。
Thanks to Sophia!!!
problem:https://leetcode.com/problems/single-number-ii/
tips:
1.将异或改成模三加法,不进位,然后对所有位进行统计。
2.先hash再进行模三加法,可以省掉很多不必要的计算。
3.用每一位的统计结果作为筛选器,筛选出更小的子集,然后再进行筛选,知道集合只剩一个数,就是那个要找的数。
论代码简洁的重要性。此外,注意,数据量很大的情况下,对所有位进行统计,会导致溢出,切记。