算法-报数(JavaScript版)

Posted zhaunkejiyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法-报数(JavaScript版)相关的知识,希望对你有一定的参考价值。

报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:

1. 1
2. 11
3. 21
4. 1211
5. 111221
1 被读作  "one 1"  ("一个一") , 即 11。
11 被读作 "two 1s" ("两个一"), 即 21。
21 被读作 "one 2",  "one 1" ("一个二" ,  "一个一") , 即 1211。

给定一个正整数 n(1 ≤ n ≤ 30),输出报数序列的第 n 项。

注意:整数顺序将表示为一个字符串。

var countAndSay = function(n) 
    return createStr(1, ‘1‘, n)

    function createStr(index, str, n) 
        if(index == n)
            return str
        index++
        let newChar = ‘‘
        let k = 1
        for(let j = 0; j < str.length; j++) 
            let char = str.charAt(j)
            if(char == str.charAt(j+1) && j != str.length - 1) 
                   k++
            else 
                newChar = newChar + k + str.charAt(j)
                k=1
            
        
        return createStr(index, newChar, n)
      

 

以上是关于算法-报数(JavaScript版)的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法(Python版):用队列(Queue)处理约瑟夫问题

算法训练 筛选号码

leetcode算法-简单38. 报数

十大经典排序算法

华为OD机试 -报数游戏(Java) | 机试题+算法思路+考点+代码解析 2023

算法笔记_113:算法集训之代码填空题集一(Java)