【Название Описание】
【Идея кода】Этот вопрос очень прост, и его можно решить с помощью одной строки кода. В основном это битовая операция. Она редко используется и ее легко игнорировать, поэтому просто просмотрите ее. Согласно основе вопроса, мы хотим подсчитать количество разных битов в двоичном представлении двух чисел, поэтому проще всего сравнивать напрямую с XOR.
1.Первый XOR представляет собой десятичное число типа int, но на самом деле в процессе побитового сравнения компьютер может сравнить два числа только после их преобразования в двоичное, а после завершения сравнения возвращается десятичное целое.
x^y ->int类型
2.Затем используйте функцию bin(), чтобы преобразовать его в двоичный файл, который после преобразования является типом str.
bin(x^y)->str类型
3.Затем подсчитайте, сколько раз появляется символ 1.
bin(x^y).count('1')
【Исходный код】
class Solution(object):
def hammingDistance(self, x, y):
"""
:type x: int
:type y: int
:rtype: int
"""
return bin(x^y).count('1')