LeetCode OJ算法题(三十七):Count and Say
来源:互联网 发布:马哥教育python视频 编辑:程序博客网 时间:2024/05/22 13:31
题目;
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
.11
is read off as "two 1s"
or 21
.21
is read off as "one 2
, then one 1"
or 1211
.
Given an integer n, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
解法:连题目都已经按递推公式给出了,不知道怎么能不用递归实现呢?
首先当n=1时,直接返回“1”;
假设发f(k)已经求出,记为s,那么我们只需统计s中的重复字符即可,每一段重复的字符重新编码成”count“+“char”的形式,再依次拼接起来即可。
public class No37_CountAndSay {public static void main(String[] args){System.out.println(countAndSay(5));}public static String countAndSay(int n) {if(n == 1) return "1";String ret = ""; String s = countAndSay(n-1); int index = 0; int count = 0; char pre = '\0'; while(index < s.length()){ if(s.charAt(index) != pre){ if(count > 0) ret = ret+count+pre; pre = s.charAt(index); index++; count = 1; continue; } count++; index++; } ret = ret+count+pre; return ret; }}
0 0
- LeetCode OJ算法题(三十七):Count and Say
- LeetCode OJ:Count and Say
- LeetCode OJ - Count and Say
- LeetCode OJ Count and Say
- LeetCode算法题之Count and Say
- LeetCode OJ-38-Count and Say
- 【LeetCode算法练习(C++)】Count and Say
- LeetCode: Count and Say
- [LeetCode]Count and Say
- LeetCode Count and Say
- [Leetcode] Count and Say
- Leetcode: Count and Say
- [LeetCode] Count and Say
- LeetCode Count and Say
- [LeetCode]Count and Say
- [LeetCode] Count and Say
- LeetCode-Count and Say
- LeetCode: Count and Say
- Ignatius and the Princess III 【HDU--1028-母函数】
- MYSQL不能从远程连接的一个解决方法(s not allowed to connect to this MySQL )
- POJ1637 Sightseeing tour 网络流
- dede调用三级栏目及文章
- 正则表达式
- LeetCode OJ算法题(三十七):Count and Say
- 美女图片采集器 (源码+解析)
- 第七次codeforces竞技结束 #258 Div 2
- hdu 2019 数列有序
- excel中计算两个日期的时间间隔
- 使用Maven配置hibernate3时报Missing artifact javax.transaction:jta:jar:1.0.1B的解决方案
- Camera projectionMatrix
- 浅谈开源项目Android-Universal-Image-Loader(Part 3.1)
- 用户体验要素