niuke --abc

时间:2019-09-06
本文章向大家介绍niuke --abc,主要包括niuke --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<bits/stdc++.h>
using namespace std;
string x;
int main(){
    cin>>x;
    int y=x.length();
    int a=0,ab=0,abc=0;
    for(int i=0;i<y;i++){
        if(x[i]=='a') a++;//表示a出现的次数 
        else if(x[i]=='b') ab+=a;//当出现b时,ab表示b之前的每一个a与b构成ab,其中a一共出现过a次 
        else if(x[i]=='c') abc+=ab;//ab表示,当出现c时,c之前的ab的数量。 
    } 
    cout<<abc<<endl; 
    return 0;
}


原文地址:https://www.cnblogs.com/Accepting/p/11478753.html