38. 外观数列

「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:

  1. 1
  2. 11
  3. 21
  4. 1211
  5. 111221

1 被读作 “one 1” (“一个一”) , 即 11。

11 被读作 “two 1s” (“两个一”), 即 21。

21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) , 即 1211。

给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。

注意:整数序列中的每一项将表示为一个字符串。

示例 1:

输入: 1

输出: “1”

解释:这是一个基本样例。

示例 2:

输入: 4

输出: “1211”

解释:当 n = 3 时,序列是 “21”,其中我们有 “2” 和 “1” 两组,“2” 可以读作 “12”,也就是出现频次 = 1 而 值 = 2;类似 “1” 可以读作 “11”。所以答案是 “12” 和 “11” 组合在一起,也就是 “1211”。

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/count-and-say

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution {
public String countAndSay(int n) {
String pre = "1";
for(int i=1; i<n; i++) {
StringBuilder temp = new StringBuilder();
char c = pre.charAt(0);
int cnt = 1;
for(int j=1; j<pre.length(); j++) {
char cc = pre.charAt(j);
if(c == cc) {
cnt++;
} else {
temp.append(cnt).append(c);
cnt = 1;
c = cc;
}
}
temp.append(cnt).append(c);
pre = temp.toString();
}
return pre;
}
}

最新文章

  1. 谈谈Web前端工程师的定位
  2. memcached学习笔记2--安装及命令
  3. [Stephen]转载 如何提高测试用例评审效率
  4. Appium+Python app自动化测试之脚本启动和停止Appium服务
  5. Android Studio如何引用jar包裹(不gradle)
  6. JAVA 统计字符串中中文,英文,数字,空格的个数
  7. hdu_5969_最大的位或(贪心)
  8. IOS开发-ObjC-NSDictionary
  9. PhantomJS 与python的结合
  10. ReactJs 的各个版本生命周期、API变化 汇总(一、V16.0.0)
  11. CloseableHttpClient获取https请求不验证证书
  12. Git使用详细教程(4):git rm使用详解
  13. Nginx 动静分离
  14. 获取checkbox勾选的id
  15. [转]基于国家标准的 EndNote 输出样式模板 ----直接用endnote导入到word,不用自己一个个改参考文献了
  16. 使用jQuery+huandlebars防止编码注入攻击
  17. Django-认证系统
  18. oracle中job定时任务96
  19. springboot深入学习(三)-----docker
  20. chrome 设置是否缓存

热门文章

  1. python语法学习第六天--字典
  2. PHP根据抖音的分享链接来抓包抖音视频
  3. 使用GitHub的API实现文件上传--李渣渣(lizaza.cn)
  4. Mybatis极速入门
  5. 1026 Table Tennis (30分) 难度不高 + 逻辑复杂 +细节繁琐
  6. 黑马程序员_毕向东_Java基础视频教程——java语言组成部分(随笔)
  7. 黑马程序员_毕向东_Java基础视频教程——进制转换之负数二进制(随笔)
  8. 关于react的一些总结
  9. 14.6 kafka
  10. jquery live 区别