zoukankan      html  css  js  c++  java
  • leecode练习--461、汉明距离

    leecode练习--461、汉明距离

    题目要求:

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

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

    注意:
    0 ≤ x, y < 231

    示例:

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

    解题思路:

    简单来说就是分析两个整型的二进制位上不同的数的个数是多少

    这里就涉及到位运算符的概念,以及python中求整型的二进制形式的bin()函数

    代码实现:

    class Solution:
        def hammingDistance(self, x: int, y: int) -> int:
            a = x ^ y  #位运算符,按位异或,相同为0,不同为1
            s = 0
            a=bin(a)   #python中的内置方法bin函数,可以获得整型的二进制形式,且返回值是字符串类型
            b=a.replace('0b','')  '''字符串的replace方法,替换字符串中的子字符串,第一个参数是被替换的子字符串,第二个参数是用来替换的子字符串'''
            for i in b:
                if i == '1':
                    s += 1
            return s
    
  • 相关阅读:
    1 let和const
    ECMAScript 6 扫盲
    回溯法
    13. Ajax技术
    12.JSTL标签
    11.EL(表达式语言)
    10.正则表达式(未完成)
    博客园自定义样式
    9.一次简单的Web作业
    8.JavaScript
  • 原文地址:https://www.cnblogs.com/itboy-newking/p/10901799.html
Copyright © 2011-2022 走看看