hammingDistance

Calculate the Hamming distance between two equal-length strings.

Usage

var hammingDistance = require( '@stdlib/string/base/distances/hamming' );

hammingDistance( s1, s2 )

Calculates the Hamming distance between two equal-length strings.

var dist = hammingDistance( 'frog', 'from' );
// returns 1

dist = hammingDistance( 'tooth', 'froth' );
// returns 2

dist = hammingDistance( 'cat', 'cot' );
// returns 1

dist = hammingDistance( '', '' );
// returns 0

dist = hammingDistance( '1638452297', '2311638451' );
// returns 10

Notes

  • If the two strings differ in length, the Hamming distance is not defined. Consequently, when provided two input strings of unequal length, the function returns a sentinel value of -1.
  • As the function calculates the Hamming distance by comparing UTF-16 code units, the function should behave as expected for strings composed of most characters. However, the function is likely to not behave as expected if strings contain visual characters composed of multiple Unicode code points, such as certain mathematical symbols and grapheme clusters (e.g., emojis).

Examples

var hammingDistance = require( '@stdlib/string/base/distances/hamming' );

var dist = hammingDistance( 'algorithms', 'altruistic' );
// returns 7

dist = hammingDistance( 'elephant', 'Tashkent' );
// returns 6

dist = hammingDistance( 'javascript', 'typescript' );
// returns 4

dist = hammingDistance( 'hamming', 'ladybug' );
// returns 5
Did you find this page helpful?