关注
在做题的始终是在想将所有的输出结果保存了然后最后一次性输出,结果始终输出不了。现在就直接将输出改为cout输出了。现在虽然本地可以AC了,但是就想问问大佬们,我对多case的处理是否正确。 #include<iostream>
#include<string>
#include<vector>
using namespace std;
bool isMatch(const string &dict, const string &example);
vector<int> getNext(const string &needle, int m, vector<int> next);
int main()
{
while (cin) //此处是否正确?
{
int N;
cin >> N;
vector<string> dict(N, "");
for (int i = 0;i<N;i++)
{
cin >> dict[i];
}
int M;
cin >> M;
vector<string> example(M, "");
for (int i = 0;i<M;i++)
{
cin >> example[i];
}
for (int i = 0;i<M;i++)
{
int count = 0;
for (int j = 0;j<N;j++)
{
if (isMatch(dict[j], example[i]))
{
count++;
}
}
cout << count << endl; //输出
}
}
return 0;
}
//KMP匹配算法
bool isMatch(const string &dict, const string &example)
{
int n = dict.size(), i = 0;
int m = example.size(), j = 0;
if (m>n) return false;
if (n == 0 || m == 0) return true;
vector<int> next(m);
next = getNext(example, m, next);
while (j<m&&i<n)
{
if ((0>j) || dict[i] == example[j])
{
i++;
j++;
}
else
{
j = next[j];
}
}
return j == m ? true : false;
}
vector<int> getNext(const string &needle, int m, vector<int> next)
{
int t = -1;
next[0] = -1;
int j = 0;
while (j<m - 1)
{
if (0>t || needle[j] == needle[t])
{
j++;
t++;
next[j] = (needle[j] != needle[t] ? t : next[t]);
}
else
t = next[t];
}
return next;
}
查看原帖
点赞 1
相关推荐
06-04 10:32
安徽大学 单片机 实习僧和BOSS直聘都投了几十家,硬件开发,硬件测试,嵌入式都投了,全是已读不回……我现在考虑想在秋招前速成一个Linux项目,其实现在完全不知道自己要找什么方向的,只能海投了,求大佬们给点意见😭😭😭
西工程小巴:数电课设+数字信号处理课设+微机原理课设?

点赞 评论 收藏
分享
05-21 16:15
门头沟学院 算法工程师 
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 🌟择难路,未有疑,四非学院本运气拉满,春招拿下大厂后端3.1W
- 2... 腾讯csig暑期一二三面7205
- 3... 史上最细SQL实战系列:sql笔试例题总结篇(建议收藏)6859
- 4... 腾讯云智后台开发暑期面经4420
- 5... 其实主包早就找到工作了,但还是每天都刷3502
- 6... 作为实习生,我问薪无愧3086
- 7... 字节拒绝、百度毁约,7.1 腾讯 Offer 到手:25 届双非碎碎念(25届最晚Offer)2993
- 8... 字节实习week6:听leader吐槽当前的应届生候选人们2798
- 9... 没实习 == 秋招凉?2728
- 10... 离开软件测试才发现外面没有雨2683
正在热议
更多
# 应届生,你找到工作了吗 #
1099次浏览 15人参与
# 双非应该如何逆袭? #
171415次浏览 2839人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
37224次浏览 271人参与
# 简历当中有水分算不算造假? #
1394次浏览 20人参与
# 春招进度记录 #
339274次浏览 3123人参与
# 实习生的蛐蛐区 #
745次浏览 19人参与
# 三一集团提前批进度交流 #
21864次浏览 138人参与
# 谈薪时HR压价该怎么应对 #
205350次浏览 3174人参与
# 毕业旅行去哪玩儿 #
7428次浏览 121人参与
# 非技术岗投递进展 #
144086次浏览 1264人参与
# 百度工作体验 #
228668次浏览 2002人参与
# 材料进Fab厂真的劝退吗? #
42880次浏览 184人参与
# 机械人与华为的爱恨情仇 #
118288次浏览 951人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
115730次浏览 1133人参与
# 百度秋招提前批进度 #
104755次浏览 1119人参与
# 双非有机会进大厂吗 #
431977次浏览 4285人参与
# 上班到公司第一件事做什么? #
59752次浏览 513人参与
# 秋招盘点:机械人值得去的企业 #
71623次浏览 670人参与
# 平台or薪资 硬件uu更看重哪个 #
128353次浏览 595人参与
# 工作中,努力重要还是选择重要? #
139140次浏览 1696人参与
# 发工资后,你做的第一件事是什么 #
69080次浏览 232人参与