Leetcode: Count and Say
来源:互联网 发布:淘宝基础版店铺装修 编辑:程序博客网 时间:2024/06/03 06:54
题目:
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.
思路分析:
我是先写了一个函数用于计算一个数字的下一个数字。计算过程是依次遍历当前数字统计相等的个数。
C++示例代码:
class Solution{public: //根据当前的number计算下一个number string countNext(string number) { string::size_type length = number.length(); size_t count = 1;//记录相同数字的个数 size_t index = 0;//遍历number的伪指针 char curnum;//临时保存当前的数字 string result;//最终结果 //这层循环控制对number的遍历 while (index < length) { curnum = number[index]; //这层循环寻找相同数字并统计个数 while (index < length) { //注意这里的index要先++然后进行比较判断,要不然会引起数组越界等问题 if (index++ != length && curnum == number[index]) { //如果当前数字和其后的数字相等count++,统计有多少个当前数字 count++; } else { //如果不相等就将count和curnum存入结果字符串中 result.push_back(count + '0'); result.push_back(curnum); count = 1; break; } } } return result; } string countAndSay(int n) { string number = "1"; for (int i = 1; i < n; i++) { number = countNext(number); } return number; }};
0 0
- LeetCode: Count and Say
- [LeetCode]Count and Say
- LeetCode Count and Say
- [Leetcode] Count and Say
- Leetcode: Count and Say
- [LeetCode] Count and Say
- LeetCode Count and Say
- [LeetCode]Count and Say
- [LeetCode] Count and Say
- LeetCode-Count and Say
- LeetCode: Count and Say
- LeetCode - Count and Say
- [LeetCode] Count and Say
- Count and Say 【leetcode】
- [LeetCode] Count and Say
- Leetcode Count and Say
- LeetCode Count and Say
- LeetCode | Count and Say
- 使用Search查询Office 365 Groups
- 关于laravel错误解决方案
- 读取到配置文件的C语言的接口实现
- xamarin .forms 手机的一些信息获取Device Info Plugin
- ConcurrentHashMap源码解读
- Leetcode: Count and Say
- 可以返回执行结果的system函数加强版本
- hdu 5179
- unity3D中Socket链接与服务之间的通讯测试程序
- 组播,单播,广播,多播,泛洪的基本概念
- 程序员的自我修养
- 微信平台开发——日历服务
- Python学习之路——语句和语法
- 0,22, 47, 120,(? ),290