题目描述:
报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:
1
2
3
4
5
6 > 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 项。
注意:整数顺序将表示为一个字符串。
示例 1:
1
2
3 > 输入: 1
> 输出: "1"
>
示例 2:
1
2
3 > 输入: 4
> 输出: "1211"
>
解题思路:
- 1
- 11
- 21
- 1211
- 111221
- 312211
- 13112221
- 1113213211
- 31131211121221
- 13211311123112112211
- 11131221133112132112212221
- 31131122212321121113122122113211
- 132113213211121312211231131122112221131221
- 1113122113121113122112111311222112132113212221322113112211
- 311311222113111231131122211231132132211211131221131211321113222113212221
思路一:
时间复杂度:$O(n)$, 空间复杂度:$O(n)$.
1 | class Solution { |
思路二:
时间复杂度:$O(n^2)$, 空间复杂度:$O(n)$.
1 | class Solution { |