【LeetCode】461. 汉明距离

LeetCode算法题目

题目

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。

给出两个整数 xy,计算它们之间的汉明距离。

注意:
0 ≤ x, y < 2^{31}.
示例 :

输入: x = 1, y = 4

输出: 2

解释:
1   (0 0 0 1)
4   (0 1 0 0)
       ↑   ↑

上面的箭头指出了对应二进制位不同的位置。

解答

Python3

方法一:

class Solution:
    def hammingDistance(self, x, y):
        """
        :type x: int
        :type y: int
        :rtype: int
        """
        #自定义十进制转二进制函数
        def dec2bin(num):
            num_bin = []
            while num!= 0:
                num_bin.append(num%2)
                num = num // 2
            return num_bin[::-1]
        x_bin = dec2bin(x)
        y_bin = dec2bin(y)
        while len(x_bin) != len(y_bin):
            if len(x_bin) < len(y_bin):
                x_bin.insert(0,0)
            else:
                y_bin.insert(0,0)
        num = 0
        for i in range(len(x_bin)): 
            if x_bin[i] != y_bin[i]:
                num += 1
        return num

方法二:

class Solution:
    def judgeCircle(self, moves):
        """
        :type moves: str
        :rtype: bool
        """
        return list(bin(x^y)).count('1')
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目: 汉明距离 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y...
    韦弦Zhy阅读 3,369评论 0 1
  • LeetCode 刷题随手记 - 第一部分 前 256 题(非会员),仅算法题,的吐槽 https://leetc...
    蕾娜漢默阅读 18,181评论 2 36
  • 数组 记录《剑指offer》中所有关于数组的题目,以及LeetCode中的相似题目 相关题目列表 说明 由于简书...
    wenmingxing阅读 5,393评论 1 12
  • 先来了解一下汉明距离 在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就...
    sixkery阅读 3,008评论 0 1
  • 原文首发于 baishusama.github.io,欢迎围观~肝不动业务代码的时候,就时不时地做个题吧/w\ 题...
    白蜀黍阅读 1,711评论 0 0

友情链接更多精彩内容