程式語言 - LeetCode - C++ - 477. Total Hamming Distance



題目:


解答:

class Solution {
public:
    int totalHammingDistance(vector<int>& nums) {
        int ans = 0;

        for (int i = 0; i < 32; ++i) {
            int n0 = 0;
            int n1 = 0;

            for (int n : nums) {
                if (n & (1 << i)) {
                    n1 += 1;
                }
                else {
                    n0 += 1;
                }
            }

            ans += (n0 * n1);
        }

        return ans;
    }
};