题目大意
https://leetcode.com/contest/leetcode-weekly-contest-13/problems/total-hamming-distance/
求n个整数的任意两个数的汉明距离之和。
题目分析
首先求两个数的汉明距离之和,可以进行逐位比较,也可以求两个数的异或,然后统计1的个数。如果求n个数的两两汉明距离之和需要一些技巧,应该逐位比较,在每一位上如何计算两两距离之和?由乘法原理,其实只要计算0的个数再乘以1的个数即可,最后逐位之和累加。
代码
|
|
复杂度:O(n * 32)