神奇的字符串:JavaScript 中的问题
问题
神奇的字符串 str 仅由 ‘1’ 和 ‘2’ 组成,并遵循以下规则 –
字符串 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;
输出说明:
神奇字符串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));
输出
控制台中的输出将是 –
3
以上就是神奇的字符串:JavaScript 中的问题的详细内容,更多请关注双恒网络其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。



