Heim > Web-Frontend > js-Tutorial > Hauptteil

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

王林
Freigeben: 2023-09-08 12:17:05
nach vorne
925 人浏览过

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

问题

神奇的字符串 str 仅由 '1' 和 '2' 组成,并遵循以下规则 -

字符串 str 是神奇的,因为它连接了数字字符“1”和“2”连续出现生成字符串 str 本身。

字符串 str 的前几个元素如下 -

str = "1221121221221121122……"
Nach dem Login kopieren

如果我们将 str 中连续的 '1' 和 '2' 分组,它将是 -

1 22 11 2 1 22 1 22 11 2 11 22 ......
Nach dem Login kopieren

每组中“1”或“2”的出现次数为 -

1 2 2 1 1 2 1 2 2 1 2 2 ......
Nach dem Login kopieren

我们可以看到上面的出现序列就是字符串本身。

我们给定一个整数num作为输入,我们需要返回字符串中第一个num中'1的个数。神奇的字符串str。

例如,如果函数的输入是 -

const num = 6;
Nach dem Login kopieren

那么输出应该是 -

const output = 3;
Nach dem Login kopieren

输出说明:

神奇字符串S的前6个元素是“12211”,其中包含三个1,因此返回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));
Nach dem Login kopieren

输出

控制台中的输出将是 -

3
Nach dem Login kopieren

以上是神奇的字符串:JavaScript 中的问题的详细内容。更多信息请关注PHP中文网其他相关文章!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!