按规律生成string
The count-and-say sequence is the sequence of integers beginning as follows:
1, 11, 21, 1211, 111221, ...
1 is read off as "one 1" or 11. 1个1
11 is read off as "two 1s" or 21. 2个1
21 is read off as "one 2, then one 1" or 1211. 1个2,1个1
Given an integer n, generate the nth sequence.
Given n = 5, return "111221".
public String countAndSay(int n) {
if(n <= 0) {
return null;
}
String result = "1";
while(--n > 0) {
int count = 1;
char last = result.charAt(0);
StringBuilder sb = new StringBuilder();
for(int j = 1; j < result.length(); j++) {
if(result.charAt(j) == last) {
count++;
} else {
sb.append(count);
sb.append(last);
count = 1;
last = result.charAt(j);
}
}
sb.append(count);
sb.append(last);
result = sb.toString();
}
return result;
}
思路:
按照规律分析。注意初始化。
本文介绍了一种特殊的整数序列——计数并描述序列,并提供了一个生成该序列第n项的算法实现。通过实例详细解释了序列的工作原理,以及如何通过编程方式生成特定位置的序列值。
494

被折叠的 条评论
为什么被折叠?



