leetcode 38. Count and Say(计数和读)

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项。 注意:整数序列的每个术语将表示为一个字符串。 立即下载

在这里插入图片描述
Example 1:

Input: n = 1
Output: “1”
Explanation: This is the base case.
Example 2:

Input: n = 4
Output: “1211”
Explanation:
countAndSay(1) = “1”
countAndSay(2) = say “1” = one 1 = “11”
countAndSay(3) = say “11” = two 1’s = “21”
countAndSay(4) = say “21” = one 2 + one 1 = “12” + “11” = “1211”

Constraints:
1 <= n <= 30

这是一个类似于归纳法的问题,
countAndSay(1) = “1”,
后面基于这个归纳,每一步找出连续数字(num)组成的substring中num的个数(cnt),
然后字符串就为cnt + num,这样每个substring的cnt + num接起来,
直到读到第n步.

注意"1211"并不是“3个1,1个2”,而是要看连续的substring,
应该是"1个1,1个2,2个1“ —> ”111221“

思路:

没啥特别的,就是一步一步推,类似归纳法。
先是countAndSay(1) = “1”,
然后我们知道第n-1步的countAndSay(n-1) = s,
再根据s推counAndSay(n).

统计连续数字的个数,
出现不同数字时,在string中加入前面一个数字的cnt + num,
注意不要忘了最后一个数字。

public String countAndSay(int n) {
    if(n == 1) return "1";
    //第n-1步的字符串
    String s = countAndSay(n-1);
    
    char ch = s.charAt(0); //n>=1,所以直接记下第一个数字
    int cnt = 1;
    StringBuilder sb = new StringBuilder();
    
    for(int i = 1; i < s.length(); i++) {            
        //遇到新的字母,总结上一字母
        if(s.charAt(i) != ch) {
            
            sb.append(cnt);
            sb.append(ch);
            
            ch = s.charAt(i);
            cnt = 0;
        }
        cnt ++;
    }
    sb.append(cnt);
    sb.append(ch);
    
    return sb.toString();
}
python-snap7 报错:can‘t find snap7 library. If installed, try running ldconfig 1、使用场景: Python 读取西门子 S7 系列 PLC 信息,会用到 snap7 库,网上也有很多案例。但是,运行时会报错:can't find snap7 library. If installed, try running ldconfig 2、解决方案: A、下载项目需要依赖的 dll、lib 文件: i、Sourceforge下载:https://sourceforge.net/projects/snap7/files/ ii、优快云下载(免费):https://dow. 阅读详情

相关推荐

QT+SOEM主站协议库实战指南—从编译到嵌入式应用

本文提供了一份QT与SOEM开源EtherCAT主站协议库的集成实战指南。详细介绍了在Windows和Linux平台下编译SOEM库的步骤,并讲解了如何将其无缝集成到QT项目中,构建具备实时监控与控制功能的工业上位机应用。内容涵盖从环境搭建、核心协议开发到嵌入式部署与优化的全流程,为开发高性价比、自主可控的工业控制解决方案提供完整路径。

u6v7w8x的博客 437

数数并说(Count And Say)

报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 1 2. 11 3. 21 4. 1211 5. 111221给定一个正整数 n ,输出报数序列的第 n 项。注意:整数顺序将表示为一个字符串。解法一:乱糟糟版public String countAndSay(int n) { if( n == 1) ...

bai大伯伯的博客 3208

【Java】利用反射执行Spring容器Bean指定的方法,支持多种参数自动调用

目录 使用情景 目的 实现方式 前提: 思路 核心类 测试方法 使用情景 将定时任务录入数据库(这样做的好处是定时任务可视化,也可以动态修改各个任务的执行时间),通过反射执行对应的方法; 配合Netty实现简单的HTTP请求处理框架 其他需要使用反射执行Spring方法的业务亦可 目的 很多文章都提到了反射,但是对于方法参数处理这一块都是明确了类型,不支持按照实际参数动态转换,而本篇文章提供了一个思路怎么做到方法参数的动态调用。 大家也可以...

ITjianshuzhai的博客 2333

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万+

OSGEarth三维可视化避坑指南:如何高效加载SHP/TIF地理数据?

本文详细介绍了OSGEarth在三维地球可视化中高效加载SHP/TIF地理数据的实战策略,包括空间参考系配置、性能优化、二三维联动等关键技巧。通过具体案例和代码示例,帮助开发者解决坐标偏移、性能卡顿等常见问题,提升三维GIS开发效率。

weixin_29216957的博客 222

EPLAN二次开发实战指南:从API接口到定制化界面

本文为EPLAN二次开发实战指南,详细介绍了从搭建C#开发环境、理解API接口到创建定制化插件的完整流程。通过实战案例,如批量修改设备属性和设计交互式界面,帮助电气工程师利用EPLAN二次开发实现工作流程自动化与深度定制,从而显著提升设计效率。

weixin_29246195的博客 802

[leetcode] 38. Count and Say

Description 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 外观数列的Python和C++代码。

Learning from the mistakes 2929

SQL Server2008详细安装步骤(超详细步骤)

https://pan.baidu.com/s/1yvolqfU-AbiuGrIzblA7pA 提取码:lzw81.下载好安装包后解压到除C盘以外的磁盘,避免系统卡顿2.使用管理员身份打开安装程序注意:使用管理员身份打开时,此时如果显示以下画面属于正常现象,下载安装即可。因为.net现在有很多软件都需要,包括SQLSERVER2008,它里面有visual studio都要有net,电脑系统没有的话安装一下好了。3.选择全新安装或向现有安装添加新功能4.点击确定5.出现以下画面之后,输入产品密钥即可(密钥在

m0_67402774的博客 4万+

leetcode38. Count and Say

count-and-say序列是前五个项的整数序列,如下所示:1 2. 11 3. 21 4. 1211 5. 111221 1 读取为或。读取为或。读取为,然后或。 "one 1"  1111  "two 1s"  2121  "one 2 one 1"  1211给定一个整数n,生成count-and-say序列的第n项。   注意:整数序列的每一项都将以字符串形式表示。例1:输入: 1 输...

任萌新的小生活 331

QT与Coin3D实现机器人的仿真

前言 Coin3D编程环境配置好后,开始下一步的机器人仿真任务。本文根据在研5轴机器人,完成三维模型生成与机器人的仿真。主要参考博主冯Jungle的博客,在此表示感谢。 ——2021.05.23 环境 Win10:VS2019、QT5.15.2、Coin3D、SolidWorks2016 机器人三维模型生成 目前广泛应用于因特网的VRML ( Virtual Reality Modeling Language,虚拟现实建模语言)为用户提供一种可参与的、并能对场景中对象主动做出反应的虚拟现实环境,现已成

焦露的博客 6906

MTK 平台功耗优化策略全解析:Clock 管控、GPU 同步与 Preview 降帧实战方案

在中高端移动终端影像系统中,Camera 模块已成为功耗的关键来源之一,尤其是在高帧率拍摄、AI 模式实时预览等场景下,ISP、Sensor、GPU 与 SoC 时钟频率的大幅提升极易引发系统发热与续航瓶颈。MTK 平台基于多级功耗控制机制,构建了包括 Clock Gate 管理、GPU 时序协同、预览流降帧、Pipeline 低功耗切换等在内的影像功耗优化策略。本文聚焦于 MTK Camera 系统中的核心功耗控制点,基于实际项目部署案例,系统拆解其在不同模式下的节能路径设计与调试方法,为终端厂商与影像系

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2523

C语言-详细讲解-Count and Say 计数和读法

count-and-say 序列是如下的整数序列:1 读作 "one 1" or 11.11 读作 "two 1s" or 21.21 读作 "one 2, then one 1" or 1211.问第n个是什么程序输入输出格式函数原型程序示例6312211注:不考虑非法输入提示n=1时输出字符串1;n=2时,数上次字符串中的数值个数,因为上次字符串有1个1,所以输出11;n=3时,由于上次字符是11,有2个1,所以输出21;

2402_86955314的博客 943

2024年全国青少年信息素养大赛初赛真题(算法创意实践挑战赛C++小学组:带解析)

2024全国青少年信息素养大赛C++算法创意实践挑战赛初赛真题及解析

王老师青少年编程 2807

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

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【leetcode 38】Count and Say

虽然是easy难度的题,但是题目确实有些难理解,不瞒大家,结合了百度过后的几篇文章的分析后,才初步清楚了题意,简单分析如下: 1、给定第一个字符串是1; 2、第二个字符串要对前一个字符串分析; 3、如果前一个字符串中有连续相等的n个数字m,则输出nm,不连续则输出1m(例:1的下一个解析结果为11,11的下一个解析结果为21); 清楚了题意之后,开始对题目进行思考,思路如下: 1、对前一...

不了痕的博客 1294

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LeetCode //C - 38. Count and Say Medium Topics Companies

【代码】LeetCode //C - 38. Count and Say Medium Topics Companies。

Made in Code 1215

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

LeetCode Notes_#38 Count and Say

LeetCode Notes_#38 Count and SayLeetCode Contents 题目思路和解答题意思路解答总结 题目 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...

baji9701的博客 181

Leetcode1-100: 38. Count and Say

Leetcode1-100: 38. Count and Say问题描述解题思路代码实现 问题描述 题目要求: 输入一个数字,输出这个数字代表的count-and-say字符串,注意每个数字对应的字符串需要根据上一个数字的字符串来得出(例如4对应的是1211,就是1个1,1个2,2个1,所以5对应的字符串就是111221) 解题思路 比较简单,直接brute force,迭代从1往后解,每次把上一个的结果最后下一个的输入来做即可。 代码实现 public String countAndSay(int n)

Y123iwantit的博客 301

LeetCode 38 -- Count and Say

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

yiayia070614的博客 299

leetcode 38.外观数列(count and say)C语言

leetcode 38.外观数列(count and say)C语言1.description2.solution 1.description https://leetcode-cn.com/problems/count-and-say/ 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下: 1 11 21 1211 111221 1 被读作 “one 1” (“一个一”) , 即 11。 11 被读作 “two 1s” (“两个

hsk6543210的博客 688

[LeetCode-38]- Count and Say

文章目录题目相关Solution 题目相关 【题目解读】 【题目】原题链接 The count-and-say sequence is the sequence of integers with the first five terms as following: 1 11 21 1211 111221 1 is read off as “one 1” or 11. 11 is read of...

Donald Su 290

leetcode 38. 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 1is read off as"one 1"or11.11is rea...

bohu83的博客 199

Leetcode Count and Say Python 数字按照字符串来操作 | 计数和报数

Leetcode 38题 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 ...

润泽的博客 202

【leetcode】38. Count and Say

38.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 1is read off as"one 1"or...

lemonade13的博客 132

LeetCode 38. Count and Say

38. Count and Say(报数) 链接:https://leetcode-cn.com/problems/count-and-say/ 题目:   报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:   1. 1  2. 11  3. 21  4. 1211  5. 111221  1被...

weixin_30666753的博客 124

[leetcode]38. Count and Say

38.Count and Say Easy 6804923FavoriteShare 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 ...

qq_37672178的博客 172
上一篇: YOLACT paper笔记
下一篇: leetcode 692. Top K Frequent Words(频率最高的K个单词)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值