マジック文字列 str は「1」と「2」のみで構成され、次の規則に従います -
文字string str は、連続して出現する数字「1」と「2」を連結して文字列 str 自体を生成するため、魔法のようなものです。
文字列 str の最初のいくつかの要素は次のとおりです-
str = "1221121221221121122……"
str 内の連続する '1' と '2' をグループ化すると、-
1 22 11 2 1 22 1 22 11 2 11 22 ......
になります。各グループ内の「1」または「2」の出現数は -
1 2 2 1 1 2 1 2 2 1 2 2 ......
です。上記の出現シーケンスが文字列そのものであることがわかります。
入力として整数 num を指定し、文字列の最初の num に含まれる「1」の数を返す必要があります。マジック文字列 str.
たとえば、関数の入力が -
const num = 6;
の場合、出力は -
const output = 3;
最初の 6 文字マジック文字列 S の要素は「12211」で、1 が 3 つ含まれるため、3 が返されます。
コードは -
ライブデモ
const num = 6; const magicalString = (num = 1) => { let ind = 12; let str = '1221121221221121122'; while(str.length < num){ const end = str.substring(str.length - 1) === '2' ? '1' : '2'; str = parseInt(str.substring(ind, ind + 1)) === 2 ? str + end + end : str + end; ind++; }; return (str.substring(0, num).match(/1/g)||[]).length; }; console.log(magicalString(num));
コンソールの出力は-
になります。リーリー以上がマジック ストリング: JavaScript の問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。