Count and Say@leetcode

LeetCode原题Count and Say Leetcode原题Count and Say count-and-say序列是整数序列,前五个术语如下: 1. 1 2. 11 3. 21 1211 5. 111221 1被读作“1”或11。 11被读作“两个1”或21。 21被读作“一个2,然后一个1”或1211。 给定整数n,其中1≤n≤30,生成count-and-say序列的第n项。 注意:整数序列的每个术语将表示为一个字符串。 立即下载

leetcode原题的地址链接:https://oj.leetcode.com/problems/count-and-say/


题目内容如下:

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    可以读成 1个1, 所以下一个数是11

11  可以读成2个1,所以下一个数是21

21 可以读成1个2,1个1,所以下一个数就是1211

1211 可以读成1个1,1个2,2个1,所以下一个数就是 111221

111221 可以读成3个1,2个2,1个1,所以下一个数就是 312211

从上述例子知道,下一个数就是上一个数的读法


解题报告:

从题目意思来看,我们需要定义这么几个变量

1、StringBuffer类型的res,用来作为字符串的缓冲区

2、String s 用来表示返回最后的字符串

3、int cnt ; 用来作为字符串缓冲区的临时字符串值

4、int round  迭代次数



完整代码:

该代码是来自http://blog.youkuaiyun.com/fightforyourdream/article/details/12901505 ,支持原创,我在原创代码的里添加了自己对代码理解的注释

package string;

public class S38{
	public static void main(String[] args){
		S38 s = new S38();
		System.out.println(s.countAndSay(6));		
	}
	public String countAndSay(int n){
		if(n == 1)
			return "1";
		
		//定义最后返回的字符串s
		String ss="1";
		
		//定义字符串缓冲区res
		StringBuffer res = new StringBuffer();
	
		//定义res里的元素cnt
		int cnt=0;
		//定义迭代次数round
		int round=0;
		int i;
		while(++round < n)
		{
			cnt = 1;
			res.setLength(0);//setLength()设置字符串的长度为0
			for(i=1;i<ss.length();i++){
				if(ss.charAt(i) == ss.charAt(i-1))//charAt :在字符序列ss中返回规定索引i对应的字符型取值
					cnt++;
				else{
					res.append(cnt).append(ss.charAt(i-1));//append:粘贴指定字符串到指定字符序列res中
					cnt=1;
				}
			}
			 res.append(cnt).append(ss.charAt(i-1));
			 ss=res.toString();//toString(): 返回字符串代表值
		}
		return res.toString();
	}
}



优化YOLOv8检测精度:Damo-YOLO的RepGFPN特征融合技术解析【YOLOv8】 YOLOv8在结构上依旧延续了自YOLOv4以来的CSPNet(Cross Stage Partial Network)和FPN(Feature Pyramid Network)的设计,结合了PANet(Path Aggregation Network)来增强特征的多尺度表达。然而,随着目标检测任务的复杂性增加,如何更有效地融合不同层级的特征成为提升检测性能的关键。Damo-YOLO中的RepGFPN引入了重参数化的思想,通过在训练和推理阶段对特征融合模块进行结构优化,显著提升了检测效果。 阅读详情

相关推荐

如何下载era5数据?(两种方式)

供水利大数据云计算课程同学参考使用#

Camiel_sweet的博客 1万+

LeetCode题解:Count and Say解法

奇葩的读数方法~

追风筝的吃货,汪~ 1812

uni-app一键登录实战:从云函数配置到前端调用的完整指南

本文详细介绍了uni-app中一键登录功能的实现方法,从DCloud控制台配置到云函数开发,再到前端调用全流程。通过一键登录,用户无需输入账号密码即可快速使用本机手机号登录,显著提升用户体验和登录转化率。文章还提供了常见问题排查和安全合规要点,帮助开发者高效完成集成。

weixin_29291573的博客 446

LeetCode ! 38. Count and Say

思路:我觉得这道题主要是简单模拟,考代码实现能力。用递归实现会简单点。要注意的是 最后一种字符 要手动加入到StringBuilder中。下面是这种思路的两种实现方式。

萝卜丝儿皮尔 171

Android自动化新方案:ESP32-C3蓝牙HID模拟触控与手势操作实战(附源码)

本文详细介绍了使用ESP32-C3通过蓝牙HID协议实现Android设备自动化操作的完整方案。该硬件方案成本低廉且能完美规避系统风控,可模拟鼠标移动、点击及复杂手势操作,延迟低于50毫秒,适用于游戏连招和应用测试等场景。文章包含完整的源码实现和性能优化技巧。

kotlin6android的博客 378

MATLAB使用贝叶斯网络bnt工具箱:使用手册详解

MATLAB使用贝叶斯bnt网络工具箱:使用手册详解

WW、forever的博客 2676

【LeetCode】Count and Say(报数)

这道题是LeetCode里的第38道题。 题目要求: 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1被读作"one 1"("一个一") , 即11。11被读作"two 1s"("两个一"), 即21。21被读作"...

『诞生之时已至,以此修正万象』 296

基于STM32L4XX、HAL库的ESP32-C3-WROOM-02-N4 WIFI模块驱动程序设计

支持802.11 b/g/n Wi-Fi (2.4GHz)RISC-V 32位单核处理器,主频高达160MHz。封装尺寸:18mm × 20mm × 3mm。工作温度范围:-40°C ~ 85°C。// 设置WiFi模式为STA。支持Bluetooth 5 (LE)// 发送AT指令测试通信。// 检查响应是否包含OK。内置4MB SPI Flash。// 连接TCP服务器。// 发送HTTP请求。// 初始化UART。// 建立TCP连接。低功耗设计,适合IoT应用。

zhusl6688的博客 385

【Leetcode】38. Count and Say

出发,每次按这样的规则递推:出现了连续。”,如此一直替换下去。步后得到的字符串是什么。时空复杂度难以估计。

数学、算法爱好者的博客 226

【教程4>第1章>第11节】使用MATLAB快速产生批量verilog语句加快FPGA开发

...........如果手动写,那么就非常麻烦,这个时候,我们借助matlab,则可以快速生成上述类型的verilog程序,我们编写如下的MATLAB语句。\n");\n");end。

FPGA/MATLAB学习教程/源码/项目合作开发 1241

【转录调控网络】代谢组学与其他组学的联合分析经典模式简介

多组学联合分析经典模式转录组学&代谢组学联合分析 转录组学&代谢组学联合分析 转录组是获得生物体内基因表达的重要方法,代谢组是生物体表型的基础和直接体现者。 转录组测序可以得到大量差异表达基因和调控代谢通路,但由于基因与表型之间很难之间关联,导致关键的信号通路难以确定,因此往往达不到预期的研究目的。代谢产物是生物体在内外调控下基因转录的最终结果,是生物体表型的物质基础。 在系统生物学研究时代,生物过程复杂多变,基因调控网络复杂。针对特定的生理、病理等表型进行研究,利用转录组的数据获得大量差异

小哲的博客 6195

Count and Say -- LeetCode

原题链接:http://oj.leetcode.com/problems/count-and-say/这道题属于字符串操作的类型,算法上提高空间不大,只能是对于某一个数的串,读过去然后得到计数并生成下一个串。时间复杂度是O(n*串的长度),空间复杂度是O(串的长度)。代码如下: public String countAndSay(int n) { if(n&lt;=0) ...

编程语言小筑 212

Open3D 可视化(1)——简单可视化【2026最新版】

简单可视化,博客长期更新,本文最新更新时间为:2026年5月10日。

点云侠的博客 5687

LeetCode38——Count and Say

LeetCode38——Count and Say 上一题对我来说实在太凶残了,所以我还是缓缓先做38题好了。。。 题意: 可以理解为求一个数组的第n项,而这个数组的通项公式可以这样理解: 第1项:1 第2项:11 第3项:21 第4项:1211 第5项:111221 第6项:312211 ... ... 第n项:第n-1项的数字串从左到右读出来。

上善若水 4489

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

LeetCode Count and Say 解题报告

LeetCode Count and Say 解题报告 如何数(shu 三声) 数(shu 四声):1,11,21,1211,111221,312211,13112221,1113213211

算法的天空 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Leetcode Count and Say

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 

Yvan Jiang的专栏 417

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LeetCode(38) Count and Say

题目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, t

指尖飞舞 4766

Leetcode之Count and Say 问题

问题描述: The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 is read off as "one 1" or11. 11 i

漫漫学习路 449

leetCode 38.Count and Say (计数和发言) 解题思路和方法

Count and Say  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 i

Android进阶 1万+

[LeetCode]Count and Say

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

xshalk的专栏 7461

LeetCode之Count and Say

1、题目 The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1is read off as"one 1"or11. 11

码莎拉蒂 2581

LeetCode . 报数( Count and Say)

题目 报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 11 21 1211 111221 1 被读作 “one 1” (“一个一”) , 即 11。 11 被读作 “two 1s” (“两个一”), 即 21。 21 被读作 “one 2”, “one 1” (”一个二” , “一个一”) , 即 1211。 给定一个正整数 n ,输...

二营长 1143

[LeetCode] Count and Say 数数并说

数数并说序列是一个整数序列,第二项起每一项的值为对前一项的计数,其前五项如下: 1 11 21 1211 111221 1 被读作 “一个一” 即 11。 11 被读作 “两个一” 即 21。 21 被读作 “一个二 和 一个一” 即 1211。 给一个正整数 n ,输出数数并说序列的第 n 项。 注意:该整数序列的每项都输出为字符串。 例 1: 输入: 1 输出: "...

可以叫我啪叽的石头 4790

LeetCode:Count and Say(数数并说)

题目 The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 is read off as “one 1” or 11. 11 is rea...

慢慢积累 1253

LeetCode-Count and Say

LeetCode Java Count and Say

坟头草一米七五 264

java学习笔记之图的遍历(广度优先搜索BFS)

不知道有没小伙伴们跟我一样,在刚开始通过网络资源学习编程时,拿到大牛们的代码,总是希望拿到的是可以打印出结果的代码,但不解的是,大神似乎都不喜欢出示完整代码(这或许就是英雄所见略同吧)。我呢,是名编程菜鸟,最近想通过大牛们的经典算法代码重温算法和数据结构。本文代码是来自alibaba的Leo-Yang,网搜了一段时间的BFS\DFS算法理解,个人最喜欢他的图解解读,太赞啦!这是他的原文http:/

往事如风,生如夏花 2682
上一篇: Search for a Range @leetcode
samnancy
博客等级 码龄19年 4粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值