题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
这道题超时是不存在的,不用嵌套就能解决,
只需要用一个字符串数组存起单词一个一个存,在用一个int数组存每个单词首字母位置,最后一一匹配就可以了
注意:数组定义要在全局定义,这样才能开大,否则main函数定义会run error
时间复杂度分析:blablabla
C++ 代码
#include<iostream>
#include<cstdio>
#include<sstream>
#include<cmath>
#include<cstring>
#include<string>
#include<sstream>
#include<algorithm>
#include<cfloat>
#include<climits>
#include<cstdlib>
#include<cctype>
using namespace std;
string a,b,c="",d[1000000];
int t=0,di[1000000],fl=0;
int main(){
memset(di,0,sizeof(di));
getline(cin,a);
getline(cin,b);
transform(a.begin(),a.end(),a.begin(),::tolower) ;
transform(b.begin(),b.end(),b.begin(),::tolower) ;
// cout<<a<<endl;
// cout<<b;
for(int i=0;i<b.size();i++){
if(b[i]>='a'&&b[i]<='z'){
if(fl==0){
di[t]=i;
fl=1;
}
c+=b[i];
}
else if(b[i]==' '){
d[t]=c;
fl=0;
c="";
t++;
}
}
if(c!=""){
d[t]=c;
c="";
t++;
}
int s=0,k=0;
for(int i=0;i<t;i++){
if(a==d[i]){
s++;
k=1;
}
}
if(k)
cout<<s<<" ";
else {
cout<<-1<<endl;
return 0;
}
for(int i=0;i<t;i++){
if(a==d[i]){
cout<<di[i]<<endl;
break;
}
}
return 0;
}
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度分析:blablabla
C++ 代码
blablabla
em推荐头文件bits/stdc++.h
一年前的我太垃圾了,喜欢打所有头文件无论用不用,现在我只是打需要的头文件
不过还是谢谢您的指正