原题目
「外观数列」是一个整数序列,从数字 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”。

思路:
1.先用递归的方法算出1时后的字符串,然后在return时候用for循环计算大于1后的字符串。
2.用if和for判断前后字符串是否相等,如果相等,记录重复次数。
3.将重复次数转成字符串加到后面
4.返回for循环之后的字符串即可

代码(实现函数):

string countAndSay(int n) {if(n==1) return "1";string shulie=countAndSay(n-1), finally="";int count=1;for(int i=0;i<shulie.length();i++){if(shulie[i]==shulie[i+1]){count++;}else{finally+=to_string(count)+shulie[i];count=1;}}return finally;}

练习题11-求最长的公共字符串
https://blog.csdn.net/weixin_44370808/article/details/106491367

练习题12-外观数列相关推荐

  1. Leetcode 38.外观数列 (每日一题 20210702)

    给定一个正整数 n ,输出外观数列的第 n 项.「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述.你可以将其视作是由递归公式定义的数字字符串序列:countAndSay( ...

  2. LeetCode 38外观数列39组合总和

    维护公众号:bigsai 回复bigsai分享一些学习资源! 本周上篇 LeetCode 36有效的数独&37解数独(八皇后问题) 外观数列 给定一个正整数 n(1 ≤ n ≤ 30),输出外 ...

  3. 外观数列Python解法

    给定一个正整数 n ,输出外观数列的第 n 项. 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述. 你可以将其视作是由递归公式定义的数字字符串序列: countAndS ...

  4. leetcode38. 外观数列

    「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述.前五项如下: 1.     1 2.     11 3.     21 4.     1211 5.     11122 ...

  5. Java练习题12.1

    Java练习题12.1 分别采取递归和循环两种方法编程: 1.输入一个整数n,求n! 方法1: package com.shangjiti.aoian; import java.util.Scanne ...

  6. C练题笔记之:Leetcode-38. 外观数列

    题目: 给定一个正整数 n ,输出外观数列的第 n 项. 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述. 你可以将其视作是由递归公式定义的数字字符串序列: count ...

  7. 38外观数列(循环遍历)

    1.题目描述 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述.前五项如下: 1.     1 2.     11 3.     21 4.     1211 5.   ...

  8. java 6.38_Java38. 外观数列

    外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述.前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被读作  "one 1& ...

  9. 胖虎算法初练六之——外观数列

    外观数列 给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项. 注意:整数序列中的每一项将表示为一个字符串. 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项 ...

最新文章

  1. [文摘]上软解散相关
  2. 一ElasticSearch安装启动
  3. ORA-14551: 无法在查询中执行 DML 操作
  4. Mysql之drop、delete、truncate的区别
  5. IT人士|不可不知的10个行业内幕
  6. centos 6.7 安装php7
  7. 【PL/SQL】 学习笔记 (3)if 语句使用
  8. Unity3D 编辑器扩展 强大的OnValidate
  9. 计算机维修管理平台软件,美萍电脑行业管理软件(电脑业务管理系统、电脑维修管理系统、组装业务、电脑装机管理软件)--管理软件,美萍是专家!...
  10. 一个例子搞懂条件概率、先验概率、后验概率、全概率公式和贝叶斯公式
  11. Spring常见问题解决 - Required request body is missing
  12. 手写数字识别--Android Studio 加载tensorflow模型
  13. linux pam 解锁_linux pam锁定用户
  14. K-means聚类最优k值的选取
  15. 中国移动物联网公司未来的发展靠什么?
  16. 智慧农场,51单片机上实现DS18B20与YL69土壤湿度传感器,并将两个获取的数据在LCD上显示出来
  17. 搭建DUCKCHAT聊天系统+内网穿透
  18. Python数据特征分析_01(MOOC学习时长分析)
  19. JS实现打地鼠小游戏案例,文末附素材
  20. 给定三边判断是否是直角三角形

热门文章

  1. 怎么免费注册微信小程序-微信小程序开发-视频教程1
  2. CJOJ 1659 【中学高级本】倒酒
  3. c语言泊松分酒编码,泊松分酒原理
  4. Unity导入图片尺寸大小和压缩格式的问题
  5. MobileNext:打破常规,依图逆向改造inverted residual block | ECCV 2020
  6. win10专业版有必要吗_Win10自带Windows defender 还有必要安装其它杀毒软件吗?
  7. 如何同步修改git项目名称和本地项目名称
  8. 中国移动 烽火HG6543C5光猫 获取超级密码教程
  9. 精准面试突击55:delete、drop、truncate有什么区别?
  10. java里的c.gettime()什么意思_new Date().getTime() 返回的是什么