标签:style blog io color ar for sp div on
1 ``` 2 class Solution{ 3 string result; 4 public: 5 //根据数组前一个数,count and say 构造出后一个数 6 void generate(string s,string &result) 7 { 8 result=string(); 9 string::iterator i=s.begin(); 10 while(i != s.end()) 11 { 12 char cur=*i; 13 int count=1; 14 i++; 15 while(i != s.end() && *i == cur) 16 { 17 count++; 18 i++; 19 } 20 result.push_back(count+‘0‘); 21 result.push_back(cur); 22 23 } 24 25 } 26 //n相当于数组的下标,n是几就调用上面的函数几次,这样就反复调用,每次都以前一个为参数,得到答案 27 string countAndSay(int n){ 28 29 for(int i=1;i<n;i++) 30 { 31 32 generate(result,result); 33 } 34 return result; 35 } 36 }; 37 38 ```
首先,我们发现一点,那个数组中前一个数字按照count and say的方式译码的结果就是后一个数,那么我先写了一个函数,功能是给定前一个数,计算出后一个数。
那么要实现的是求出第n个数,直接循环n-1次,每次的输入是上一次的输出即可。
标签:style blog io color ar for sp div on
原文地址:http://www.cnblogs.com/gaoduan/p/4055218.html