Algorithms—38.Count and Say

原创 2015年07月08日 09:04:47

思路:掌握规则,逐次去读书,循环N次即可。

public class Solution {
    public String countAndSay(int n) {
		if (n == 1) {
			return "1";
		}
		String answer = "1";
		for (int i = 0; i < n - 1; i++) {
			answer = new Solution().readNum(answer);
		}
		return answer;
	}

	public String readNum(String num) {
		int n = 1;
		String t = num.substring(0, 1);
		StringBuffer answer=new StringBuffer();
		String k = "";
		for (int i = 1; i < num.length(); i++) {
			k = num.substring(i, i + 1);
			if (k.equals(t)) {
				n++;
			} else {
				answer=answer.append(n).append(t);
				t = k;
				n = 1;
			}
		}
		answer = answer.append(n).append(t);
		return answer.toString();
	}
}


耗时:232ms,勉强中上游,此次测试了下用StringBuffer代替String有效的提高了效率,感觉好无趣。


版权声明:本文为博主原创文章,未经博主允许不得转载。

38.Count and Say

Description: The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 2...
  • glory_lee
  • glory_lee
  • 2017年05月17日 16:21
  • 57

LeetCode --- 38. Count and Say

题目链接:Count and Say The count-and-say sequence is the sequence of integers beginning as follows: ...
  • makuiyu
  • makuiyu
  • 2015年02月05日 23:33
  • 2371

LeetCode:38.Count and Say

Count and SayThe count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21...
  • ysmintor
  • ysmintor
  • 2017年08月10日 17:59
  • 103

[leetcode:python]38.Count and Say

题目: The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, ...
  • NXHYD
  • NXHYD
  • 2017年05月10日 19:57
  • 229

[LeetCode]38.Count and Say

【题目】 The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1...
  • SunnyYoona
  • SunnyYoona
  • 2015年01月27日 11:42
  • 1311

LeetCode 38.Count and Say

题目: The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 12...
  • caishenfans
  • caishenfans
  • 2015年02月22日 14:09
  • 255

【LeetCode-面试算法经典-Java实现】【038-Count and Say(计数和表述)】

【038-Count and Say(计数和表述)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  The count-and-say sequence is the se...
  • DERRANTCM
  • DERRANTCM
  • 2015年07月28日 05:59
  • 2441

leetcode 38 Count and Say C++

三个循环,总感觉很慢。。。 string countAndSay(int n) { if(!n) return ""; string str = "1"; ...
  • a2331046
  • a2331046
  • 2016年06月08日 10:28
  • 350

LeetCode 38 : Count and Say (Java)

解题思路:我表示这道题对我来说关键就是理解题意。。。真的没理解题意,网上查了才恍然大悟。首先说一下题意。n=1时输出字符串1;n=2时,数上次字符串中的数值个数,因为上次字符串有1个1,所以输出11;...
  • changetocs
  • changetocs
  • 2015年12月02日 22:50
  • 1104

LeetCode Count and Say 解题报告

LeetCode Count and Say 解题报告 如何数(shu 三声) 数(shu 四声):1,11,21,1211,111221,312211,13112221,1113213211...
  • worldwindjp
  • worldwindjp
  • 2014年12月05日 15:09
  • 9729
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Algorithms—38.Count and Say
举报原因:
原因补充:

(最多只允许输入30个字)