JavaScriptで少なくともn個の繰り返し文字を含む最長の部分文字列を検索する
最初の引数として文字列を取り、2番目の引数として正の整数nを受け取るJavaScript関数を作成する必要があります。
文字列には繰り返し文字が含まれている可能性があります。この関数は、すべての文字が少なくともn回出現する元の文字列から、最長の部分文字列の長さを見つけて返す必要があります。
例-
入力文字列と数値が-
の場合const str = 'kdkddj'; const num = 2;
その場合、出力は-
になります。const output = 5;
必要な最長の部分文字列は「kdkdd」であるため
例
以下はコードです-
const str = 'kdkddj'; const num = 2; const longestSubstring = (str = '', num) => { if(str.length < num){ return 0 }; const map = {} for(let char of str) { if(char in map){ map[char] += 1; }else{ map[char] = 1; } } const minChar = Object.keys(map).reduce((minKey, key) => map[key] < map[minKey] ? key : minKey) if(map[minChar] >= num){ return str.length; }; substrings = str.split(minChar).filter((subs) => subs.length >= num); if(substrings.length == 0){ return 0; }; let max = 0; for(ss of substrings) { max = Math.max(max, longestSubstring(ss, num)) }; return max; }; console.log(longestSubstring(str, num));
出力
以下はコンソール出力です-
5
-
JavaScriptでインデックスの合計が最小の共通要素
問題 最初と2番目の引数として、2つのリテラル配列arr1とarr2を受け取るJavaScript関数を作成する必要があります。 私たちの関数は、共通の要素を見つける必要があります arr1とarr2で、最小リストインデックス合計 。回答の間に選択の同点がある場合は、注文要件なしですべてを出力する必要があります。 たとえば、関数への入力が-の場合 const arr1 = ['a', 'b', 'c', 'd']; const arr2 = ['d', 'a', 'c'];
-
C++で少なくともK個の繰り返し文字を含む最長のサブストリング
文字列sがあり、T内のすべての文字が少なくとも表示されるように、指定された文字列(小文字のみで構成される)の最長の部分文字列Tの長さを見つける必要があるとします。 k回より。したがって、文字列が「ababbc」でk =2の場合、2つのaと3つのbがあるため、出力は3になり、最長のサブ文字列は「ababb」になります。 これを解決するには、次の手順に従います- longestSubstring()という再帰関数を1つ作成します。これには、文字列sとサイズkが必要です k =1の場合、文字列のサイズを返します 文字列のサイズが