文字列間のハミング距離の計算

Beginner

This tutorial is from open-source community. Access the source code

はじめに

ハミング距離とは、同じ長さの 2 つの文字列の違いを測る尺度です。言い換えると、対応するシンボルが異なる位置の数です。このチャレンジでは、2 つの値の間のハミング距離を計算する関数を書くように求められます。

ハミング距離

2 つの整数を引数として受け取り、それらの間のハミング距離を返す関数hamming_distance(a, b)を書きます。この関数は以下の手順を実行する必要があります。

  1. XOR 演算子 (^) を使用して、2 つの数のビットの違いを見つけます。
  2. bin() を使用して、結果を 2 進数文字列に変換します。
  3. 文字列をリストに変換し、str クラスの count() を使用してその中の 1 の数をカウントして返します。
def hamming_distance(a, b):
  return bin(a ^ b).count('1')
hamming_distance(2, 3) ## 1

まとめ

このチャレンジでは、Python を使って 2 つの値の間のハミング距離を計算する方法を学びました。ハミング距離は、同じ長さの 2 つの文字列の違いを測るのに便利な尺度であり、コンピュータサイエンスや情報理論において多くの応用があります。