Java实现 LeetCode 38 外观数列
2024-09-05 21:54:27
38. 外观数列
「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:
1
11
21
1211
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;
}
}
最新文章
- 谈谈Web前端工程师的定位
- memcached学习笔记2--安装及命令
- [Stephen]转载 如何提高测试用例评审效率
- Appium+Python app自动化测试之脚本启动和停止Appium服务
- Android Studio如何引用jar包裹(不gradle)
- JAVA 统计字符串中中文,英文,数字,空格的个数
- hdu_5969_最大的位或(贪心)
- IOS开发-ObjC-NSDictionary
- PhantomJS 与python的结合
- ReactJs 的各个版本生命周期、API变化 汇总(一、V16.0.0)
- CloseableHttpClient获取https请求不验证证书
- Git使用详细教程(4):git rm使用详解
- Nginx 动静分离
- 获取checkbox勾选的id
- [转]基于国家标准的 EndNote 输出样式模板 ----直接用endnote导入到word,不用自己一个个改参考文献了
- 使用jQuery+huandlebars防止编码注入攻击
- Django-认证系统
- oracle中job定时任务96
- springboot深入学习(三)-----docker
- chrome 设置是否缓存
热门文章
- python语法学习第六天--字典
- PHP根据抖音的分享链接来抓包抖音视频
- 使用GitHub的API实现文件上传--李渣渣(lizaza.cn)
- Mybatis极速入门
- 1026 Table Tennis (30分) 难度不高 + 逻辑复杂 +细节繁琐
- 黑马程序员_毕向东_Java基础视频教程——java语言组成部分(随笔)
- 黑马程序员_毕向东_Java基础视频教程——进制转换之负数二进制(随笔)
- 关于react的一些总结
- 14.6 kafka
- jquery live 区别