做网站软件大全,电子商务网站开发与应用论文,导购网站需要备案吗,淮安市建设局网站「外观数列」是一个整数序列#xff0c;从数字 1 开始#xff0c;序列中的每一项都是对前一项的描述。前五项如下#xff1a;
1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被读作 one 1 (一个一) , 即 11。 11 被读作 two …「外观数列」是一个整数序列从数字 1 开始序列中的每一项都是对前一项的描述。前五项如下
1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被读作 one 1 (一个一) , 即 11。 11 被读作 two 1s (两个一, 即 21。 21 被读作 one 2, one 1 一个二 , 一个一) , 即 1211。
给定一个正整数 n1 ≤ n ≤ 30输出外观数列的第 n 项。
注意整数序列中的每一项将表示为一个字符串。 示例 1:
输入: 1 输出: 1 解释这是一个基本样例。 示例 2:
输入: 4 输出: 1211 解释当 n 3 时序列是 21其中我们有 2 和 1 两组2 可以读作 12也就是出现频次 1 而 值 2类似 1 可以读作 11。所以答案是 12 和 11 组合在一起也就是 1211。 思路难点可能在理解题意吧理解之后模拟出来即可。具体见代码。
class Solution {/*** 难点报数的概念理解* 从4-5分析将4个每一位拆开看个数数字41211 1112121121所以5111221* 模拟出来过程即可*/public String countAndSay(int n) {String str 1;for (int i 2; i n; i) {StringBuilder builder new StringBuilder();char pre str.charAt(0);int count 1;for (int j 1; j str.length(); j) {char c str.charAt(j);if (c pre) {count;} else {builder.append(count).append(pre);pre c;count 1;}}builder.append(count).append(pre);str builder.toString();}return str;}
}