问题描述 AC代码 class Solution { public: int totalHammingDistance(vector<int>& nums) { int ans = 0; int n = nums.size(); //逐位遍历 for(int i = 31; i >= 0; i--){ int cnt = 0; //数组每个元素最低位的统计1的个数 for(int j : nums){ if(((j >> i)&1) == 1){ cnt++; } } //二进制非1即0,所以 0 = n-cnt ans += cnt*(n-cnt); } return ans; } };