国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

LeetCode: Total Hamming Distance

2019-11-09 20:07:28
字體:
來源:轉載
供稿:網友

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Now your job is to find the total Hamming distance between all pairs of the given numbers.

Example:

Input: 4, 14, 2Output: 6Explanation: In binary rePResentation, the 4 is 0100, 14 is 1110, and 2 is 0010 (justshowing the four bits relevant in this case). 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 the range of to 10^9

Length of the array will not exceed 10^4.

思路:一個有多個0,1組成的序列,所有的漢明距離和為0的個數乘以1的個數

int totalHammingDistance(int* nums, int numsSize) {        int totalD = 0;    int bits[32];    for (int i = 0; i < 32; ++i) {        bits[i] = 0;    }        for (int i = 0; i < numsSize; ++i) {        for (int j = 0; j < 32; ++j) {            bits[j] += nums[i] & 1;            nums[i] >>= 1;        }    }        for (int i = 0; i < 32; ++i) {        totalD += bits[i] * (numsSize - bits[i]);    }        return totalD;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 改则县| 桦川县| 老河口市| 芜湖市| 张家港市| 洮南市| 乌鲁木齐县| 孟津县| 化州市| 临泽县| 四平市| 洮南市| 云南省| 临夏县| 湘阴县| 呼玛县| 久治县| 射阳县| 禄丰县| 永安市| 赤壁市| 罗江县| 芷江| 荃湾区| 寻甸| 巧家县| 本溪市| 莒南县| 博白县| 瓮安县| 霍山县| 河津市| 临高县| 荆州市| 莲花县| 论坛| 尉氏县| 吉首市| 华池县| 财经| 民和|