NC213876. CCA的字符串
描述
输入描述
一行,一个字符串。
输出描述
一行,一个数表示答案。
示例1
输入:
NowCoderNowCode
输出:
8
C(clang11) 解法, 执行用时: 8ms, 内存消耗: 432K, 提交时间: 2020-12-31 14:48:02
#include <stdio.h> main() { int i; long long sum,cnt; sum=0; cnt=0; char s[100005]; scanf("%s",s); for(i=0;s[i+7]!=0;i++) { if(s[i]=='N'&&s[i+1]=='o'&&s[i+2]=='w'&&s[i+3]=='C'&&s[i+4]=='o'&&s[i+5]=='d'&&s[i+6]=='e'&&s[i+7=='r']) sum=i+1; cnt=sum+cnt; } printf("%lld",cnt); }
C++(clang++11) 解法, 执行用时: 12ms, 内存消耗: 668K, 提交时间: 2021-01-30 11:28:30
#include<iostream> #include<cstring> using namespace std; int main(){ string s; cin>>s; long long sum = 0; for(int i=0,now=-1;i<s.size();i++){ if(s.substr(i,8)=="NowCoder"){ sum+=((i-now)*(s.size()-i-7)); now=i; } } cout<<sum; return 0; }
Python3(3.9) 解法, 执行用时: 46ms, 内存消耗: 6904K, 提交时间: 2021-05-12 13:34:36
s=input() ans=0 n=len(s) i=0 while True: j = s.find("NowCoder",i) if j==-1: break ans+=(j-i+1)*(n-j-7) i = j+1 print(ans)