数数并说序列是一个整数序列,第二项起每一项的值为对前一项的计数,其前五项如下:
1.     1
2.     11
3.     21
4.     1211
5.     111221
1 被读作 "一个一" 即 11。
11 被读作  "两个一" 即 21。
21 被读作  "一个二 和 一个一" 即 1211。
给一个正整数 n ,输出数数并说序列的第 n 项。
注意:该整数序列的每项都输出为字符串。
例 1:
输入: 1
输出: "1"
例 2:
输入: 4
输出: "1211"
详见:https://leetcode.com/problems/count-and-say/description/

实现语言:Java

class Solution {
public String countAndSay(int n) {
if(n<=0){
return null;
}
String s="1";
for(int i=1;i<n;++i){
StringBuilder tmp=new StringBuilder();
int cnt=1;
for(int j=1;j<s.length();++j){
if(s.charAt(j)==s.charAt(j-1)){
++cnt;
}else{
tmp.append(cnt);
tmp.append(s.charAt(j-1));
cnt=1;
}
}
tmp.append(cnt);
tmp.append(s.charAt(s.length()-1));
s=tmp.toString();
}
return s;
}
}

实现语言:C++

class Solution {
public:
string countAndSay(int n) {
if(n<=0)
{
return nullptr;
}
string s="1";
for(int i=1;i<n;++i)
{
string tmp="";
int cnt=1;
for(int j=1;j<s.size();++j)
{
if(s[j]==s[j-1])
{
++cnt;
}
else
{
tmp=tmp+char(cnt+'0')+s[j-1];
cnt=1;
}
}
s=tmp+char(cnt+'0')+s[s.size()-1];
}
return s;
}
};

038 Count and Say 数数并说的更多相关文章

  1. 【转载】C#通过Rows.Count属性获取总行数

    在C#中的Datatable数据变量的操作过程中,有时候我们需要知道DataTable中是否含有数据行或者DataTable的数据总行数,此时我们就可以先拿到DataTable中的Rows属性对象,通 ...

  2. [LeetCode] 038. Count and Say (Easy) (C++/Python)

    索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 038. Cou ...

  3. 数数(高维DP)

    T1 数数 [问题描述] fadbec 很善于数数,⽐如他会数将 a 个红球,b 个黄球,c 个蓝球,d 个绿球排成⼀列,任意相邻不同⾊的数⽬. 现在 R 君不知道 fadbec 数的对不对,想让你也 ...

  4. [Sdoi2014]数数[数位dp+AC自动机]

    3530: [Sdoi2014]数数 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 834  Solved: 434[Submit][Status][ ...

  5. JZOJ3492数数&&GDOI2018超级异或绵羊——位&&类欧几里得

    JZOJ3492 数数(count) 我们知道,一个等差数列可以用三个数A,B,N表示成如下形式:  B+A,B+2A,B+3A⋯B+NA ztxz16想知道对于一个给定的等差数列,把其中每一项用二进 ...

  6. 【BZOJ】【3530】【SDOI2014】数数

    AC自动机/数位DP orz zyf 好题啊= =同时加深了我对AC自动机(这个应该可以叫Trie图了吧……出边补全!)和数位DP的理解……不过不能自己写出来还真是弱…… /************* ...

  7. BZOJ3530: [Sdoi2014]数数

    3530: [Sdoi2014]数数 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 322  Solved: 188[Submit][Status] ...

  8. 【HDU3530】 [Sdoi2014]数数 (AC自动机+数位DP)

    3530: [Sdoi2014]数数 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 682  Solved: 364 Description 我们称一 ...

  9. COJ 0036 数数happy有多少个?

    数数happy有多少个? 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 图图是个爱动脑子.观察能力很强的好学生.近期他正学英语 ...

随机推荐

  1. redis数据

    毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象 ...

  2. 搭建基于Nagios的监控系统——之监控远程Linux服务器

    上一篇介绍了如何安装Nagios Core,这一篇跟大家分享一下如何将一台远程的Linux服务器加入纳入监控范围. 第一部分:在远程Linux上安装Nagios Plugins和NRPE   第一步: ...

  3. Advanced R之词汇表

    转载请注明出处:http://www.cnblogs.com/lizichao/p/4800513.html 词汇表 想要玩得转R,重要的一点是有一个好的工作词汇表.以下是我认为的一个好的词汇表.你不 ...

  4. jquery中对于批量deferred的处理

    此代码仿照jquery源码中$.when()的实现 function test(i) { var dfd = $.Deferred(); if(i%2 == 0) { console.log(&quo ...

  5. <c和指针>学习笔记4之字符串

    1 字符串基础 NUL字节是字符串的终止符,但它本身并不是字符串的一部分,所以字符串的长度并不包括NUL字节. (1)字符串长度 size_t strlen(char const * string)注 ...

  6. Google Analytics添加到网站

    把Google Analytics添加到网站的具体方式 https://developers.google.com/analytics/devguides/collection/analyticsjs ...

  7. freemaker宏的用法

    freemaker宏 定义:定义一个标签,标签体中可以包含参数,开始标签和结束标签可以包含内容,内容中可以通过${}方式引用标签体中定义的参数 用法:页面引入标签,通过标签可以直接输出标签的内容 He ...

  8. WebView根据加载的内容来控制其高度

    一.先设置WebView的高度为0,然后在其加载结束后的代理方法中根据contentSize设置其高度 //初始话一个UIWebView: self.webView = [[[UIWebView al ...

  9. yii2之使用ueditor

    代码效果: 1.去github下载yii2高级版ueditor扩展 2.将下载的扩展放入  /common/widgets 中(目录如图所示) 3.在视图中的代码 <?=common\widge ...

  10. JavaScript中两个数组的拼接

    方法一:使用for循环 var arr = ['tom', 'jerry']; var arr2 = [1, 2]; for(var i=0; i<arr2.length; i++){ arr. ...