【leetcode】Count and Say
2015-06-07 21:56
399 查看
From: https://leetcode.com/problems/count-and-say/
The count-and-say sequence is the sequence of integers beginning as follows:
Given an integer n, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
The count-and-say sequence is the sequence of integers beginning as follows:
1, 11, 21, 1211, 111221, ...
1is read off as
"one 1"or
11.
11is read off as
"two 1s"or
21.
21is 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.
class Solution { public: string countAndSay(int n) { n = (n>=0)*n-(n<0)*n; string ans = "1"; for(int i=1; i<n; i++) ans = find(ans); return ans; } string find(string s) { int index = s.size()-1, pre = index-1; string ans; while(index>=0) { char cur = s[index]; while(pre>=0 && s[pre] == cur) pre--; ans = cur + ans; ans = (char)('0' + index - pre) + ans; index = pre; pre = pre-1; } return ans; } };
相关文章推荐
- C++和java多态的区别
- Storm监控文件夹变化 统计文件单词数量
- C++和java多态的区别
- 设计模式之-策略模式
- wordpress搭建构架笔记
- Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)
- Storm默认配置 default.yaml
- 基于heartbeat v1+ldirectord实现LVS集群高可用 推荐
- hnnu 你的组合数学学得如何?(递推)
- CVPR2014 Objectness源码转换(完整版) VS2012 X64 –>win32
- Material Design 中文版-Introduction(概述)
- 类图
- Storm集群搭建
- 试题1
- 第十四周 项目四:处理C++源代码的程序
- 深入了解软件测试过程
- Storm概念
- iOS开发网络—13使用ASI框架进行文件下载
- 【重构】CType内联函数
- 《大道至简》阅读笔记三