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

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

题目描述:

The count-and-say sequence is the sequence of integers with the first five terms as following:

1.     12.     113.     214.     12115.     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 term of the count-and-say sequence.

Note: Each term of the sequence of integers will be represented as a string.

Example 1:

Input: 1Output: "1"

Example 2:

Input: 4Output: "1211"

要完成的函数:

string countAndSay(int n) 

 

代码:

#include
#include
string int2str(int &i)//实现从int到string的转换 { string s; stringstream ss(s); ss << i; return ss.str(); } int count(string a,int b,int index)//在a中,从index这个位置开始,有多少个数字为b的,返回这个数量 { int result=0; for(int i=index;i

说明:

1、这道题可能有的朋友不太明白题目在讲什么,说一下。

首先,n=1的时候,输出“1”的序列。

n=2的时候,上一个序列中,从第一个数字开始,直到最后一个数字。数一下上一个序列有多少个连续的1,答案是“1”个“1”,所以输出“11”的序列。

n=3的时候,上一个序列中,从第一个数字开始,直到最后一个数字。数一下上一个序列有多少个连续的1,答案是“2”个“1”,所以输出“21”的序列。

n=4的时候,上一个序列中,从第一个数字开始,直到最后一个数字。数一下上一个序列有多少个连续的2,答案是“1”个“2”,所以输出12;数一下上一个序列中有多少个连续的1,答案是“1”个“1”,所以输出11。合起来就是“1211”。

n=5的时候,上一个序列中,从第一个数字开始,直到最后一个数字。数一下上一个序列有多少个连续的1,答案是“1”个“1”,所以输出“11”,数一下上一个序列中有多少个连续的2,答案是“1”个“2”,所以输出“12”,数一下上一个序列中有多少个连续的1,答案是“2”个“1”,所以输出“21”。合起来就是“111221”。

看明白之后,本题采用最暴力的方法去做,定义了三个函数。每个函数的功能都在注释中写了。自己跑一遍应该就看出来了。

 

2、c++的int2str在c++11中可以to_string(int)输出,比如cout<<to_string(123)+"908"<<endl;可以得到123908的输出。

但在c++11之前,就要使用#include<sstream>中的方法,像本文那样使用就可以了。

转载于:https://www.cnblogs.com/chenjx85/p/8709370.html

你可能感兴趣的文章
又拍云刘平阳,理性竞争下的技术品牌提升之道
查看>>
为所有PHP-FPM容器构建单独的Nginx Docker镜像
查看>>
DevOps实战:Graphite监控上手指南
查看>>
微软Azure CDN现已普遍可用
查看>>
为什么你写的代码糟透了?
查看>>
tomcat线程池策略
查看>>
百度开源AI硬件开发平台BIE-AI-Box和BIE-AI-Board
查看>>
微服务架构宜缓行
查看>>
专访何红辉:谈谈Android源码中的设计模式
查看>>
集成软件开发工具有多难?现实很残酷!
查看>>
NSQ:分布式的实时消息平台
查看>>
《七周七并发模型》作者Paul Butcher、阿里云研究员余锋(褚霸)——QCon北京2016前瞻...
查看>>
Elixir 1.3带来新的语言功能、API和改进后的工具
查看>>
Ruby 2.5.0概览
查看>>
Atlassian的Stash数据中心为Git提供了高可用性及可伸缩性
查看>>
Netflix发布Polly.JS,一个用于HTTP交互的开源库
查看>>
比拼生态和未来,Spark和Flink哪家强?
查看>>
Chef宣布100%开源,要走红帽模式?\n
查看>>
利用Diferencia和Java微服务进行分接比较测试
查看>>
图片相似度计算:深入理解DCT变换以及感知哈希
查看>>