LeetCode Weekly Contest 13-TOtalHamming Distance【中】


TotalHamming Distance
The Hamming distance between two integers is thenumber of positions at which the corresponding bits are different.
Now your job is to find the totalHamming distance between all pairs of the given numbers.
Example:
Input: 4, 14, 2
 
Output: 6
 
Explanation: In binary representation,the 4 is 0100, 14 is 1110, and 2 is 0010 (just
showing the four bits relevant in thiscase). So the answer will be:
HammingDistance(4, 14) +HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.
Note:
Elements of the given array are in therange of 0 to 10^9
Length of the array will not exceed 10^4.
class Solution {
public:

    void itoa(char* p, int x)
    {
        int i = 0;
        while(x > 0)
        {
            p[i ++] = x % 2 + '0';
            x = x / 2;
        }
    }
    int totalHammingDistance(vector& nums) {
        
        int isize = nums.size();
        if(isize == 0) return 0;
        
        char arrays[10004][33] = {0};
        
        int i = 0, j = 0, iResult = 0;
        
        for(i = 0; i < isize; i ++)
        {
            itoa((char*)arrays[i], nums[i]);
            //for(j = 0; j < 32; j ++)
             //   std::cout<