题目意思:
给出一个字符串和字串的长度,求出该字符串的所有给定长度的字串的个数(不相同)。
题目分析:
此题为简单的字符串哈hash map问题,可以直接调用STL里的map类。map<string,int> snum;
AC代码:
#include<iostream> #include<string> #include<map> using namespace std; int main() { int t,n,nc; cin>>t; while(t--){ string s; map<string,int> snum; cin>>n>>nc>>s; int k=0; int len=s.length(); for(int i=0;i<=len-n;i++){ string ss=s.substr(i,n); if(snum[ss]==0){ k++; snum[ss]=1; } } cout<<k<<endl; if(t>1) cout<<endl; } return 0; }
时间: 2024-10-06 05:35:15