关注
楼主,基于字典树的第21行会出现越界问题,比如case: zyyhappy zyy 不同长度的解决方案,用标识isEnd来控制,贴一下我的代码,如果有问题,还望各位指正。 #include <iostream>
#include <list>
#include <vector>
#include <map>
#include <string>
#include <algorithm>
using namespace std;
class Tire
{
public:
Tire *next[26];
bool isEnd;
Tire()
{
for(int i = 0 ; i < 26 ;i++)
next[i] = nullptr;
isEnd = false;
}
};
bool findSS(Tire *root, string s)
{
for(int i=0 ; i < s.size() ;i++)
{
int index = s[i] - 'a';
if(root->next[index] == nullptr)
return false;
root = root->next[index];
}
return root->isEnd;
}
void addTire(Tire* node, string word)
{
for(int i = 0 ; i < word.size() ;i++)
{
int index = word[i] - 'a';
if(node->next[index] == nullptr)
node->next[index] = new Tire();
node = node->next[index];
}
node->isEnd = true;
}
int main()
{
int t,n;
string s;
cin >> t;
while(t--)
{
cin >> n;
Tire *root = new Tire();
vector<string> v;
bool sign = false;
for(int i = 0 ; i < n ; i++)
{
cin >> s;
string new_s = s+s;
for(int k = 0 ; k < s.size()+1 ;k++)
{
string find_s = new_s.substr(k,s.size());
if(findSS(root,find_s))
{
sign = true;
break;
}
reverse(find_***egin(), find_s.end());
if(findSS(root, find_s))
{
sign = true;
break;
}
}
addTire(root, s);
}
if(sign) cout << "Yeah" << endl;
else cout << "Sad" << endl;
}
}
查看原帖
点赞 评论
相关推荐
查看24道真题和解析 点赞 评论 收藏
分享
03-28 00:43
杭州电子科技大学 C++ 点赞 评论 收藏
分享
02-18 13:28
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 大厂实习和小厂实习最大的区别是什么? #
6963次浏览 49人参与
# Vibe Coding 会干掉初级岗位吗? #
2052次浏览 42人参与
# 厦门银行科技岗值不值得投 #
10625次浏览 261人参与
# 牛友の3月总结 #
5173次浏览 46人参与
# 你现在一天AI几次? #
778次浏览 33人参与
# 如果人生可以debug你会改哪一行? #
1093次浏览 33人参与
# 招商银行数字金融训练营 #
41915次浏览 537人参与
# 做完笔试后你收到面试了吗? #
1849次浏览 29人参与
# 你都用vibe coding做过什么? #
871次浏览 30人参与
# AI Coding实战技巧 #
661次浏览 22人参与
# 找AI工作可以去哪些公司? #
20970次浏览 959人参与
# 从事AI岗需要掌握哪些技术栈? #
17434次浏览 1069人参与
# 如果可以选,你最想从事什么工作 #
763890次浏览 4895人参与
# 金三银四,你的春招进行到哪个阶段了? #
25642次浏览 302人参与
# 你做过最难的笔试是哪家公司 #
52355次浏览 965人参与
# 你觉得技术面多长时间合理? #
176550次浏览 1204人参与
# AI面会问哪些问题? #
40162次浏览 1286人参与
# 携程笔试 #
141244次浏览 853人参与
# 这些公司卡简历很严格 #
95512次浏览 419人参与
# 通信硬件知识分享 #
48238次浏览 539人参与
# 哪些公司真双非友好? #
70926次浏览 303人参与
# 中国电信笔试 #
33527次浏览 308人参与