Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで文字列内のハミング距離を見つける


ハミング距離:

同じ長さの2つの弦の間のハミング距離は、これらの弦が変化する位置の数です。

言い換えれば、これは、ある弦を別の弦に変えるために必要な変更の最小数の尺度です。ハミング距離は通常、同じ長さの弦で測定されます。

同じ長さの2つの文字列(たとえば、str1とstr2)を受け取るJavaScript関数を作成する必要があります。関数は、これらの文字列間のハミング距離を計算して返す必要があります。

以下はコードです-

const str1 = 'Hello World';
const str2 = 'Heeyy World';
const findHammingDistance = (str1 = '', str2 = '') => {
   let distance = 0;
   if(str1.length === str2.length) {
      for (let i = 0; i < str1.length; i++) {
         if (str1[i].toLowerCase() != str2[i].toLowerCase()){
            distance++
         }
      }
      return distance
   };
   return 0;
};
console.log(findHammingDistance(str1, str2));

出力

以下はコンソール出力です-

3

  1. JavaScriptの文字列の対応する最短距離

    問題 最初の引数として英語の小文字のアルファベットの文字列strを取り、2番目の引数として文字列strに存在する単一の文字charを受け取るJavaScript関数を作成する必要があります。 この関数は、文字列strの各文字について、charで指定された文字列の最も近い文字からの距離を含む配列を準備して返す必要があります。 たとえば、関数への入力が 入力 const str = 'somestring'; const char = 's'; 出力 const output = [0, 1, 2, 1, 0, 1, 2, 3, 4, 5] 例 以下

  2. JavaScriptで次に大きい要素までの距離を見つける

    問題 最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。 この関数は、対応する各要素が現在の要素よりも次に大きい要素までの距離である入力の新しい配列を作成する必要があります。現在の要素の右側に大きい要素がない場合は、対応する要素に対して0をプッシュする必要があります。 res配列の要素であり、最後にこの配列を返す必要があります。 たとえば、関数への入力が 入力 const arr = [12, 13, 14, 11, 16, 10, 12, 17, 19, 18]; 出力 const output = [1, 1, 2, 1, 3