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

文字列内の繰り返し文字の最大数を取得するにはどうすればよいですか? JavaScript


このような繰り返し文字を含む文字列があります-

const a = "fdsfjngjkdsfhhhhhhhhhhhfsdfsd";

私たちの仕事は、astreak内の連続する最大の同じ文字の数を返す関数を作成することです。上記の文字列のように、文字hは11回連続して表示されるため、関数はこの文字列に対して11を返す必要があります。

この問題は、このスライディングウィンドウアルゴリズムの適切な候補です。ここで、安定したウィンドウは、連続する文字を含むウィンドウであり、異なる要素を含むウィンドウは不安定です。ウィンドウは、最後に新しい文字を追加し、で繰り返し文字を削除することで安定する傾向があります。開始します。

スライディングウィンドウアルゴリズムを使用するこの関数のコードは、-

になります。

const a = "fdsfjngjkdsfhhhhhhhhhhhfsdfsd";
const findMaximumRepeating = str => {
   let max = 0;
   for(let start = 0, end = 1; end < str.length; ){
      if(str[end] === str[start]){
         if(max < end - start + 1){
            max = end - start + 1;
         };
         end++;
      } else {
         start = end;
      };
   };
   return max;
};
console.log(findMaximumRepeating(a));

出力

コンソールの出力は-

になります
11

  1. ドキュメント全体のHTMLをJavaScriptで文字列として取得するにはどうすればよいですか?

    ドキュメントのHTML全体を文字列として取得するには、-のようなinnerHTMLの概念を使用します。 document.documentElement.innerHTML; 例 以下はコードです- <!DOCTYPE html> <html lang="en"> <head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-widt

  2. JavaScriptの文字列内の特定の文字列の出現をカウントする方法

    str1とstr2の2つの文字列を受け取るJavaScript関数を作成する必要があります。次に、関数はstr2がstr1に出現する回数をカウントして返す必要があります。 例- count('this is a string', 'is') should return 2; 例 このためのコードは-になります const str1 = 'this is a string'; const str2 = 'is'; const countOccurrences = (str1, str2, allowOverlapping = t