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

1->1
2->11
3->21
4->1211
5->111221

2中的11表示前一个序列1是由1个1表示的;3中的21表示2中的11是由2个1表示的,依次类推;

解题思路:使用递归,要求第n个整数的输出,需要知道第n-1个数的序列,要知道第n-1个数的序列,需要知道第n-2个数的序列,以此类推,直到n=1,返回’1’。

具体解题代码如下:

# Python3
class Solution:def countAndSay(self, n: int) -> str:if n == 1:return "1"string = self.countAndSay(n-1)  # 使用递归ans = ""nums = 1temp = string[0]for s in string[1:]:if s == temp:nums += 1else:ans += (str(nums) + str(temp))temp = snums = 1ans += (str(nums) + str(temp))return ans
# C++
class Solution {public:string countAndSay(int n) {if (n == 1)return "1";string strs = countAndSay(n-1);int length = strs.size();int nums = 1;char temp = strs[0];string ans = "";for(int i=1;i<length;++i){if(strs[i]!=temp){ans += ('0'+nums);ans += temp;temp = strs[i];nums = 1;}elsenums += 1;}ans += ('0'+nums);ans += temp;return ans;}
};

leetcode —— 38. 外观数列相关推荐

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

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

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

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

  3. leetcode 38.外观数列

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

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

    1.思路: 从1开始遍历,求出后面每一个转化后的数.依次求下一个. string countAndSay(int n) {string res = "1";for (int i = ...

  5. LeetCode 38外观数列

    力扣 思路:打表 由于n<=30,用数组记录每个数 class Solution { public:string countAndSay(int n) {vector<string> ...

  6. 力扣刷题之路 38. 外观数列 Python解

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

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

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

  8. Leetcode 外观数列

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

  9. 外观数列Python解法

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

最新文章

  1. 批量建立用户和设置密码,批量删除用户脚本
  2. 【MPI编程】任意节点数的蝶形求和(高性能计算)
  3. 服务器的共享文件夹怎么隐藏,Server200服务器隐藏共享文件夹 隐藏共享文件的方法...
  4. 海洋分享皮肤_王者荣耀周年庆皮肤爆料,还有一款CP皮肤?
  5. PCB 相关单位 说明
  6. 卓有成效的管理者--总结
  7. java登录功能多线程_java之多线程
  8. mysql中如何将几个没有关系的结果集放在一起
  9. Android Studio两模块间getLaunchIntentForPackage跳转,出现intent为null,已解决
  10. 中国互联网公司员工平均年龄出炉,你怎么看?我躺着看
  11. 安装win7和Centos后,默认启动项的修改.
  12. Luogu1856 [USACO5.5]矩形周长Picture(矩形周长并)
  13. 键盘按键损坏 注册表更改_如何彻底清洁键盘(不损坏任何东西)
  14. 10个最新交互式Web设计实例欣赏
  15. 百度云智峰会 百度天像打造多媒体新生态
  16. 虚拟桌面基础架构 (VDI)及其工作原理
  17. Badge分析如何逼死处女座
  18. 【音视频处理】为什么MP3不是无损音乐?音频参数详解,码率、采样率、音频帧、位深度、声道、编码格式的关系
  19. 制作gif动态图片,LICEcap – 灵活好用,GIF 屏幕录制工具
  20. IP 别名和辅助 IP 地址

热门文章

  1. qt lighthouse相关
  2. CentOS7安装ETCD
  3. 面试官系统精讲Java源码及大厂真题 - 46 ServerSocket 源码及面试题
  4. MySQL抽稀_python安装mysql的依赖包mysql-python操作
  5. 内网学习之MySQL服务提权
  6. iOS Class结构分析
  7. Tomcat Post请求参数长度限制
  8. idea创建javaweb项目连接mysql【HTTP Status 500】
  9. PicGo+码云Gitee建立国内高速图床
  10. 【Python】Python库之虚拟现实