countAndSay(leetcode)
来源:互联网 发布:网页游戏优化 编辑:程序博客网 时间:2024/04/27 13:25
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有n个,就表示为nc,如此直至这个字符串结束。起始位字符串1,求递归的第n个字符串。这样说出题意就很好解了。
#include<iostream>#include<string>#include<algorithm>using namespace std;string myitoa( int n );class Solution {public: string countAndSay(int n) { string s = "1"; for( int i = 1;i < n;++i ) { string temp; string::iterator it = s.begin(); while( it != s.end() ) { int count = 0; char c = *it; while( *it == c ) ++it,++count; temp = temp + myitoa(count) + c; } s = temp; }return s; }};int main(){int n;Solution test;while( cin >> n )cout << test.countAndSay(n) << endl;;return 0;}string myitoa( int n ){string s;char c;while( n > 0 ){c = n % 10 + '0';s += c;n /= 10;}reverse(s.begin(),s.end());return s;}
0 0
- countAndSay(leetcode)
- LeetCode-countandsay
- leetcode countAndSay
- CountAndSay
- countAndSay
- countAndSay
- leecode:countandsay(数列模拟)
- 【LeetCode从零单排】No38.CountAndSay
- 3.12CountandSay
- 【leetcode】leetcode 刷题 笔记 (不定期更新)
- LeetCode (1)Two Sum | LeetCode
- 【leetcode】Candy(python)
- LeetCode | Subsets(子集)
- AddBinary(leetcode)
- TwoSum(leetcode)
- #leetcode#Implement strStr()
- LeetCode(46)Permutations
- leetcode刷题(Python)
- spring整合redis
- 【Android】Permission权限访问清单
- linux下搭建SVN服务器
- POJ2354-Titanic
- arm IP寄存器
- countAndSay(leetcode)
- 三国战记风云在起
- dup和dup2函数
- ISO软件工程模板-概要设计说明书
- 安卓系列基础教程之TextView控件
- Hibernate_4_部门与员工实例_一对多、多对一关联关系
- jxl处理报表
- [9]EC_屏蔽ecshop云提示no_license
- 和小白一起学ABAP – 14 SAP程序设计之 报表生成工具