美文网首页
leetcode刷题记录--Hamming Distance

leetcode刷题记录--Hamming Distance

作者: fishliu | 来源:发表于2018-01-04 11:18 被阅读0次

题目

难度:easy

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.
Given two integers x and y, calculate the Hamming distance.
Note:
0 ≤ x, y <2^31

Example:

Input: x = 1, y = 4

Output: 2

Explanation:
1   (0 0 0 1)
4   (0 1 0 0)
       ↑   ↑

The above arrows point to positions where the corresponding bits are different.

知识点

汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字对应位不同的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。

第一次解法

/**
 * @param {number} x
 * @param {number} y
 * @return {number}
 */
var hammingDistance = function(x, y) {
    return (x ^ y).toString(2).split('').filter(num => num === "1").length;
};

相关文章

网友评论

      本文标题:leetcode刷题记录--Hamming Distance

      本文链接:https://www.haomeiwen.com/subject/mqfrnxtx.html