leetcode_Count and Say
来源:互联网 发布:淘宝页眉背景图素材 编辑:程序博客网 时间:2024/06/14 05:06
描述:
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.
思路:
很有意思的一个题目,由于题目描述的比较简单,刚开始竟然没有读懂。。。
1.题目的意思是给你一个数n,让你输出前n个按照给定规则生成的数字串
2.而生成该数字串的规则为后一个串是前一个串的读法
3.而字符串是如何读的呢?是将该数字串种连续相同的数字进行压缩编码即111读作3个1,即31,11读作2个1,即21,以此类推。
代码:
public String countAndSay(int n){if (n <= 0)return new String("");String strNum = "1";for (int i = 1; i < n; i++)//从"1"开始每次产生一个数字串{strNum = getString(strNum);//下一个串在前一个串的基础上进行产生}return strNum;}public String getString(String strNum){int numLen = strNum.length();StringBuilder sb = new StringBuilder();int indexStart = 0, indexEnd = 0;char ch;while (indexStart < numLen)//循环一次对每一段连续相同的数字进行统计并编码{ch = strNum.charAt(indexStart);indexEnd = indexStart + 1;while (indexEnd < numLen && ch == strNum.charAt(indexEnd))indexEnd++;sb.append(indexEnd - indexStart);sb.append(ch);indexStart = indexEnd;}return sb.toString();}
0 0
- LeetCode_Count and Say
- leetcode_Count and Say
- leetcode_Count and Say
- Leetcode_count-and-say(c++ and python version)
- leetcode_Count Primes
- LOOK AND SAY
- 3438 Look and Say
- LeetCode: Count and Say
- [LeetCode]Count and Say
- LeetCode Count and Say
- [Leetcode] Count and Say
- Count and Say
- Leetcode: Count and Say
- [LeetCode] Count and Say
- LeetCode Count and Say
- Count and Say
- [38]Count and Say
- Count and Say
- HDOJ1789Doing Homework again(贪心)
- Java 算法编程 N阶乘最后总位数问题
- 机器学习实践中应避免的七种常见错误
- 【GDOI 2013模拟】屏保
- mysql 唯一索引
- leetcode_Count and Say
- 位运算
- HDU5363_____Key Set
- dfs Fire Net
- Use Notes of Modelsim (1)
- hdu1050&&nyoj220 Moving Tables(贪心)
- xcode6插件地址(某些插件不能用解决办法)
- 配置maven版本出错
- Linux uniq 命令