Maison > interface Web > js tutoriel > Magic Strings : problèmes en JavaScript

Magic Strings : problèmes en JavaScript

王林
Libérer: 2023-09-08 12:17:05
avant
1089 Les gens l'ont consulté

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

Question

La chaîne magique str se compose uniquement de '1' et '2' et suit les règles suivantes -

La chaîne str est magique car elle concatène les caractères numériques '1' et '2' "Continu les occurrences génèrent la chaîne str elle-même.

Les premiers éléments de la chaîne str sont les suivants-

str = "1221121221221121122……"
Copier après la connexion

Si nous regroupons les '1' et '2' consécutifs dans str, ce sera-

1 22 11 2 1 22 1 22 11 2 11 22 ......
Copier après la connexion

Occurrences de '1' ou '2' dans chaque groupe Le degré est -

1 2 2 1 1 2 1 2 2 1 2 2 ......
Copier après la connexion

Nous pouvons voir que la séquence d'occurrences ci-dessus est la chaîne elle-même.

Nous recevons un nombre entier en entrée et nous devons renvoyer le nombre de « 1 » dans le premier nombre de la chaîne. La corde magique str.

Par exemple, si l'entrée de la fonction est -

const num = 6;
Copier après la connexion

alors la sortie devrait être -

const output = 3;
Copier après la connexion

Description de la sortie :

Les 6 premiers éléments de la chaîne magique S sont "12211", qui contient trois 1, donc 3 est renvoyé.

Exemple

Le code est -

Démo en direct

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));
Copier après la connexion

Sortie

La sortie dans la console sera -

3
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal