ホームページ  >  記事  >  ウェブフロントエンド  >  マジック ストリング: JavaScript の問題

マジック ストリング: JavaScript の問題

王林
王林転載
2023-09-08 12:17:051017ブラウズ

神奇的字符串:JavaScript 中的问题

質問

マジック文字列 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) === &#39;2&#39; ? &#39;1&#39; : &#39;2&#39;;
      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 サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。