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の場合、文字列のサイズを返します 文字列のサイズが