程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【Leetcode刷題Python】461. 漢明距離

編輯:Python

1 題目

兩個整數之間的 漢明距離 指的是這兩個數字對應二進制位不同的位置的數目。

給你兩個整數 x 和 y,計算並返回它們之間的漢明距離。

示例 1:

輸入:x = 1, y = 4
輸出:2
解釋:
1 (0 0 0 1)
4 (0 1 0 0)
↑ ↑
上面的箭頭指出了對應二進制位不同的位置。

示例 2:

輸入:x = 3, y = 1
輸出:1

2 解析

漢明距離:是對應位置上數字不同的位數。
計算 xx 和 yy 之間的漢明距離,可以先計算 x⊕y,即x異或y,然後統計結果中等於 1 的位數。

現在,原始問題轉換為比特計數問題。

3 Python

class Solution:
def hammingDistance(self, x: int, y: int) -> int:
n = x ^ y
res = 0
while n:
res+=1
n &=n-1
return res

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved