LeetCodeOJ. Count and Say
来源:互联网 发布:做招聘广告的软件 编辑:程序博客网 时间:2024/06/03 05:21
试题请参见: https://oj.leetcode.com/problems/count-and-say/
题目概述
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.
解题思路
简单的模拟题, 在当前位"向后看", 是否有与当前位相同的连续数字.
如果有, 则计数. 计数完成后, 将下标移动至下一个(不同的)数字.
源代码
class Solution {public: std::string countAndSay(int n) { std::string previous = "1"; for ( int i = 1; i < n; ++ i ) { std::string current; size_t step = 1; for ( size_t j = 0; j < previous.size(); j += step ) { char currentDigit = previous.at(j); step = 1; for ( size_t k = j + 1; k < previous.size() && previous.at(k) == previous.at(j); ++ k ) { ++ step; } current += static_cast<char>(step + '0'); current += currentDigit; } previous = current; } return previous; }};
0 0
- LeetCodeOJ. Count and Say
- LeetCodeOJ: 38. Count and Say
- LeetCode: Count and Say
- [LeetCode]Count and Say
- LeetCode Count and Say
- [Leetcode] Count and Say
- Count and Say
- Leetcode: Count and Say
- [LeetCode] Count and Say
- LeetCode Count and Say
- Count and Say
- [38]Count and Say
- Count and Say
- Count and Say
- Count and Say
- [LeetCode]Count and Say
- Count and Say
- Count and Say
- Linux开机流程详解
- 链表应用之计算2^4000内数字0~9的分布
- ApkTool动态打包
- PHP优于Node.js的五大理由
- Android-Service组件之AIDL
- LeetCodeOJ. Count and Say
- 【JNI开发】如何使用Eclipse开发jni
- (五)洞悉linux下的Netfilter&iptables:如何理解连接跟踪机制?【上】
- 1.6 不用算术符号实现加法
- CentOS 7 在Minimal Install 环境下tar.gz安装mysql community server
- Java学习路线--As a Beginners to learn JAVA
- SSRS: How to Display Checkbox on Report
- maven在eclipse中的配置
- xcode6提示build failed但是没有列出具体错误的解决方法