LeetCode题解:Count and Say解法
来源:互联网 发布:淘宝店铺如何打造爆款 编辑:程序博客网 时间:2024/05/21 00:14
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.
题解:
首先这道题非常的蛋疼,光翻译题目是看不懂的……其实这道题的要求是这样,先设置一个字符串str:
当n=1,str="1"
当n=2,因为当n=1时,str="1",里面有一个“1”,所以此时的str="11"
当n=3,因为当n=2时,str="11",里面有两个“1”,所以此时的str="21"
当n=4,因为当n=3时,str="21",里面有一个"2",一个“1”,所以此时的str="1211"
当n=5,因为当n=4时,str="1211",里面是:先一个"1",再一个"2",最后两个“1”,所以此时的str="111211"
也就是说,取值为n的字符串是根据取值n-1的字符串来考虑的……
解题思路:
由于取值为n的字符串受n-1的字符串影响,所以我决定从n=1开始获得字符串。然后,需要一个计数器记录字符串连续出现的相同的数字个数,当遇到不同的数字就把计数器置0,重新计数。每结束一层循环表示1,2,3,……,n中某个取值的字符串已经处理好了。
代码:
public String countAndSay(int n){if(n < 1)return "";String str = "1";for(int i = 1;i < n;++i){int count = 0;StringBuilder builder = new StringBuilder("");for(int j = 0;j < str.length();++j){++count;if((j + 1 < str.length()) && (str.charAt(j) != str.charAt(j + 1))){builder = builder.append(count).append(str.charAt(j));count = 0;}else if(j + 1 == str.length()){builder = builder.append(count).append(str.charAt(j));}}str = builder.toString();}return str;}
- LeetCode题解:Count and Say解法
- LeetCode题解:Count and Say
- leetcode 题解 || Count and Say 问题
- LeetCode题解——Count and Say
- LeetCode 题解(230) : Count and Say
- leetcode题解-38. Count and Say
- Leetcode题解-38. 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
- java中 classpath的定义
- 小学生数学
- 阿里巴巴常考面试题及汇总答案
- Android文件下载——12
- vs 2012中运行时提示“未找到与约束ContactName....”的解决方案
- LeetCode题解:Count and Say解法
- 布线问题
- 使用Jquery Easy UI要导入的js顺序
- 解决Android moveTaskToBack(false) 无法退出到后台
- Ubuntu(Linux)下安装Matlab
- iOS屏幕旋转之为横屏视频播放增加竖屏模式
- 10种软件滤波算法
- Adapter内的onItemClick监听器四个arg参数
- Spring攻略笔记