Leetcode|461.汉明距离【笔记】

Leetcode|461.汉明距离【笔记】

  • 链接
  • 前言
  • 题目
  • 概念
  • 思路1
  • 参考

链接

https://leetcode-cn.com/problems/hamming-distance/

前言

刚开始刷leetcode,菜的一题都做不出来,唉,路漫漫~
manmanjilei

题目

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。
给出两个整数 xy,计算它们之间的汉明距离。

  • 示例
输入: x = 1, y = 4

输出: 2

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

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

概念

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

思路1

  • 1.将整数转化为二进制数(bin函数)
  • 2.将对应二进制数做异或操作(对应位上,相同为0,不同为1;^函数/XOR函数)
  • 3.计算一共有几个1(即计算对应二进制位上一共有几个不同的数;count函数)
class Solution:
    def hammingDistance(self, x: int, y: int) -> int:
        return bin(x^y).count('1')

参考

[1] Python bin() 函数
[2] Python中的XOR异或符号^运用
[3] Python-count函数

你可能感兴趣的:(Leetcode,leetcode,python,算法,数据结构)