abc序列数

简介: abc序列数

链接:https://ac.nowcoder.com/acm/contest/1083/A

来源:牛客网

 

给出一个字符串s,你需要做的是统计s中子串”abc”的个数。子串的定义就是存在任意下标a<b<c,那么”s[a]s[b]s[c]”就构成s的一个子串。如”abc”的子串有”a”、”b”、”c”、”ab”、”ac”、”bc”、”abc”。

输入描述:

一个字符串s。保证输入只包含小写拉丁字符。

输出描述:

一个整数表示s中子串”abc”的个数。

示例1

输入

复制

abcabc

输出

复制

4

备注:

1<=|s|<=1e5

 

这题只要想到方法其实很简单。

代码如下:

#include<stdio.h>
#include<string.h>
int main()
{
    char str[100005];
    //scanf("%s",str);
    gets(str);
    int i;
    long long int a=0,b=0,c=0;
    for(i=0;i<strlen(str);i++)
    {
        if(str[i]=='a')
            a++;
        else if(str[i]=='b')
            b+=a;
        else if(str[i]=='c')
            c+=b;
    }
    printf("%lld\n",c);
    return 0;
}
目录
相关文章
|
7月前
leetcode-434:字符串中的单词数
leetcode-434:字符串中的单词数
49 1
【Leetcode -415.字符串相加 - 434.字符串中的单词数】
【Leetcode -415.字符串相加 - 434.字符串中的单词数】
45 0
|
7月前
|
算法 测试技术 C#
【前缀和】3085. 成为 K 特殊字符串需要删除的最少字符数
【前缀和】3085. 成为 K 特殊字符串需要删除的最少字符数
|
7月前
对任意给定的两个正整数,100<n<m<1000,计算这两个数之间所有素数和,包含m,n自身
对任意给定的两个正整数,100<n<m<1000,计算这两个数之间所有素数和,包含m,n自身
56 0
对任意给定的两个正整数,100<n<m<1000,计算这两个数之间所有素数和,包含m,n自身
|
7月前
输入一个字符串,统计其中字符A的数量并且输出,输入共有一行,为一个不带空格的字符串(其中字符数不超过100),输出一行,包含一个整数,为输入字符串中的A的数量
输入一个字符串,统计其中字符A的数量并且输出,输入共有一行,为一个不带空格的字符串(其中字符数不超过100),输出一行,包含一个整数,为输入字符串中的A的数量
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
767 0
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
|
Python
统计字符串中不同字符个数问题
统计字符串中不同字符个数问题
136 0
​判断给定字符序列是否是回文
​判断给定字符序列是否是回文
84 0