# 38. Count and Say

## Description

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.

## Analysis

class Solution {
public:
string countAndSay(int n) {
if(n==1)
return "1";
string res="1";
int count=0;
while(--n){
string tmp="";
for(int i=0;i<res.size();++i){
int count=1;
while(i+1<res.size()&&res[i]==res[i+1]){
++i;
++count;
}
tmp+=to_string(count)+res[i];
}
res=tmp;
}
return res;
}
};


https://discuss.leetcode.com/topic/2068/how-to-proof-the-count-is-always-less-than-10

https://discuss.leetcode.com/topic/2264/examples-of-nth-sequence


### 学籍管理系统文档

#### 北邮教务系统评教脚本

Published on September 17, 2017

#### 72.Edit distance

Published on September 17, 2017