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

王林
リリース: 2023-09-08 12:17:05
転載
1016 人が閲覧しました

神奇的字符串: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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート