题目
「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:
1 | 1. 1 |
1 被读作 “one 1” (“一个一”) , 即 11。
11 被读作 “two 1s” (“两个一”), 即 21。
21 被读作 “one 2”, “one 1” (”一个二” , “一个一”) , 即 1211。
给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。
注意:
整数序列中的每一项将表示为一个字符串。
示例1:
1 | 输入: 1 |
示例2:
1 | 输入: 4 |
解法
解法一:
打表
因为n最大只到30,所以可以直接求出所有符合条件的答案,根据n返回对应的字符串即可。
Java
1 | public String countAndSay(int n) { |
解法二:
按照规则构造
Java
1 | public String countAndSay(int n) { |