IF-すべてのアナックを検索
6987 ワード
質問する
S文字列の中で1つのプログラムを編纂して、T文字列とSの部分文字列の個数を求めます.
どうぞ.図を認識するときに大文字と小文字を区別します.一部の文字列は連続文字列でなければなりません.
例
Input1Input2OutputbacaAacbaabc3
回答とレビュー
これは以前に解いたスライドウィンドウと海図の混合問題です. によって与えられた サブ配列を使用してマッピングを作成し、文字列をキーとし、文字列の個数を値とします. で作成されたばかりのmapを、一致したときにのみ コード#コード#
S文字列の中で1つのプログラムを編纂して、T文字列とSの部分文字列の個数を求めます.
どうぞ.図を認識するときに大文字と小文字を区別します.一部の文字列は連続文字列でなければなりません.
例
Input1Input2OutputbacaAacbaabc3
回答とレビュー
これは
s
文字列において、各要素はt
文字列の個数を有する要素のサブ配列を作成する.t
個の数1を増加させるcount
文字列と比較します.const solution = (s, t) => {
let count = 0;
for (let i = 0; i < s.length; i++) {
let target = s[i];
let flag = true;
for (let j = i + 1; j < i + t.length; j++) {
target += s[j];
if (target.length === t.length) {
let targetMap = new Map();
for (let str of target) {
if (targetMap.has(str)) targetMap.set(str, targetMap.get(str) + 1);
else targetMap.set(str, 1);
}
for (let char of t) {
if (!targetMap.get(char) || targetMap.get(char) === 0) {
flag = false;
break;
} else targetMap.set(char, targetMap.get(char) - 1);
}
if (flag) count++;
}
}
}
return count;
};
Reference
この問題について(IF-すべてのアナックを検索), 我々は、より多くの情報をここで見つけました https://velog.io/@goody/IF-모든-아나그램-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol