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
1043 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!

source:tutorialspoint.com
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