博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Count and Say
阅读量:4115 次
发布时间:2019-05-25

本文共 1121 字,大约阅读时间需要 3 分钟。

问题:

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.

解答:

没啥意思,数数吧。m_itoa()是自己实现的一个一位的itoa

代码:

class Solution {public:    string countAndSay(int n) {    	if(n == 0)		return "";	string s = "1";	for(int i = 1; i < n; i++)	{		s = next(s);	}	return s;	}	string next(string ls)	{		int count;		char target;		string temp;		count = 1;		target = ls[0];		string s = "";		for(int i = 1; i < ls.size(); i++)		{			if(target == ls[i])				++count;			else			{				temp = m_itoa(count);				s += temp;				s += target;				count = 1;				target = ls[i];			}		}		temp = m_itoa(count);		s += temp;		s += target;		return s;	}	string m_itoa(int count)	{		string re = "";		stack
st; char s[2]; while(count) { st.push(count%10); count /= 10; } while(!st.empty()) { s[0] = st.top() + '0'; s[1] = '\0'; re.append(s); st.pop(); } return re; }};

转载地址:http://lktsi.baihongyu.com/

你可能感兴趣的文章
SQL如何取日期中的年月
查看>>
C# goto
查看>>
Confluence 6 给一个从 Jira Service Desk 的非许可证用户访问权限
查看>>
node.js基础 1之简单的nodejs模块
查看>>
Cocos2d-x学习笔记(一) 搭建开发环境
查看>>
关于 古人劝学 --写的真心是好 真的有收获
查看>>
【习题 7-7 UVA-12558】Egyptian Fractions (HARD version)
查看>>
【codeforces 768F】Barrels and boxes
查看>>
【66.47%】【codeforces 556B】Case of Fake Numbers
查看>>
Sql 列转行字符串
查看>>
[天下小黑盒]打地鼠小助手
查看>>
input中只允许输入数字
查看>>
dataFrame 切片操作
查看>>
vs2015安装及初步试用
查看>>
C言语教程第五章:函数(10)
查看>>
MySQL中批改暗码及拜访限定设置详解-1
查看>>
Oracle数据垄断和节制言语详解-3
查看>>
投靠Linux第一步 Windows数据向Linux迁徙(3)
查看>>
今晚装了个红旗LINUX6.0系统
查看>>
cGmail — 主动反省邮件
查看>>