​LeetCode刷题实战461:汉明距离

算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !

今天和大家聊的问题叫做 汉明距离,我们先来看题面:
https://leetcode-cn.com/problems/hamming-distance/

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


Given two integers x and y, return the Hamming distance between them.

两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x 和 y,计算并返回它们之间的汉明距离。

示例                             


示例 1:
输入:x = 1, y = 4
输出:2
解释:
1 (0 0 0 1)
4 (0 1 0 0)
  ↑  ↑
上面的箭头指出了对应二进制位不同的位置。

示例 2:
输入:x = 3, y = 1
输出:1



解题

依次记录两个数字每位是否相同,如果不同,计数器加一。


class Solution {
public:
    int hammingDistance(int x, int y) {
        int count=0;
        while(x||y)
        {
            if(x%2!=y%2) ++count;
            x/=2;
            y/=2;
        }
        return count;
    }
};


好了,今天的文章就到这里,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力 。

上期推文:

LeetCode1-440题汇总,希望对你有点帮助!


​LeetCode刷题实战461:汉明距离


本篇文章来源于微信公众号:程序IT圈

原创文章,作者:栈长,如若转载,请注明出处:https://www.cxyquan.com/16579.html

发表评论

登录后才能评论

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息