Skip to content
This repository has been archived by the owner on Feb 14, 2023. It is now read-only.

461. 汉明距离(简单) - https://leetcode-cn.com/problems/hamming-distance/submissions/ #11

Open
tailgo opened this issue May 20, 2019 · 0 comments
Labels
阿狗 阿狗是帅哥呀

Comments

@tailgo
Copy link
Owner

tailgo commented May 20, 2019

先异或,用与算距离
执行用时 : 80 ms, 在Hamming Distance的JavaScript提交中击败了96.67% 的用户
内存消耗 : 33.5 MB, 在Hamming Distance的JavaScript提交中击败了83.74% 的用户

/**
 * @param {number} x
 * @param {number} y
 * @return {number}
 */
var hammingDistance = function(x, y) {
    var t = x ^ y;
    var sum = 0;
    while (t) {
        sum += t & 1;
        t = t >> 1;
    }
    return sum;
};

解法二,利用二进制特性,n & (n - 1) 的结果会比 n 少一个 1。
执行用时 : 76 ms, 在Hamming Distance的JavaScript提交中击败了97.27% 的用户
内存消耗 : 33.5 MB, 在Hamming Distance的JavaScript提交中击败了90.96% 的用户

/**
 * @param {number} x
 * @param {number} y
 * @return {number}
 */
var hammingDistance = function(x, y) {
    var t = x ^ y;
    var sum = 0;
    while (t) {
        sum++;
        t = t & (t - 1)
    }
    return sum;
};
@tailgo tailgo added the 阿狗 阿狗是帅哥呀 label May 20, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
阿狗 阿狗是帅哥呀
Projects
None yet
Development

No branches or pull requests

1 participant