問題
神奇的字符串 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 中的問題的詳細內容,更多請關注www.92cms.cn其它相關文章!