38. Count and Say(C++)

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.

复制代码
 1 class Solution {
 2 public:
 3     string countAndSay(int n) {
 4         if(n==0) return "";
 5         string res="1";
 6         while(--n){
 7             string tmp="";
 8             for(int i=0;i<res.size();i++){
 9                 int count=1;
10                 while(res[i]==res[i+1]&&i+1<res.size()){
11                     count++;i++;
12                 }
13                 tmp+=to_string(count)+res[i];
14             }
15             res=tmp;
16         }
17         return res;
18     }
19 };
复制代码

 

posted @   DevinGu  阅读(230)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示