利用字典树查找唯一标记某单词的最小前缀
来源:互联网 发布:游戏角色设计软件 编辑:程序博客网 时间:2024/06/04 20:41
题目:EPI
建立字典树Trie以及利用其查找唯一标记某单词的最小前缀。
class TireNode{public:bool isString;unordered_map<char, shared_ptr<TireNode>> m;TireNode(bool b) :isString(b){}};class Tire{public:shared_ptr<TireNode> root;Tire() :root(new TireNode(false)){}//重要bool insert(const string &s){shared_ptr<TireNode> cur = root;for (int i = 0; i < s.size(); i++){char c = s[i];if (cur->m.find(c) == cur->m.end()){shared_ptr<TireNode> tmp(new TireNode(false));cur->m[c] = tmp;}cur = cur->m[c];}if (cur->isString)return false;//该字符串已经存在else{cur->isString = true;return true;}}string get_shortest_prefix(const string &s){if (s.empty())return "";string res;shared_ptr<TireNode> cur = root;for (int i = 0; i < s.size(); i++){string tmp(1, s[i]);res += tmp;if (cur->m.find(s[i]) == cur->m.end())return res;elsecur = cur->m[s[i]];}return "";}};string Find_shortest_prefix(const unordered_set<string> &D, const string &s){if (s.empty() || D.empty())return "";Tire T;for (unordered_set<string>::iterator i = D.begin(); i != D.end(); i++)T.insert(*i);return T.get_shortest_prefix(s);}//测试代码string ss[] = { "dog", "be", "cut", "car" };unordered_set<string> D;for (int i = 0; i < 3; i++)D.emplace(ss[i]);//插入cout << Find_shortest_prefix(D, "cat");
0 0
- 利用字典树查找唯一标记某单词的最小前缀
- 查找字典中某个公共前缀的所有单词
- 查找字典中具有某个公共前缀的所有单词
- 字典树(Trie树、单词查找树、前缀树)
- hdu 1251 统计难题(给定字典单词,查询以某单词为前缀的单词的个数)
- HDU 1671 字典树 查找前缀
- 字典树的应用 单词意义查找-C语言实现
- [经典面试题][字典树]字符串唯一前缀问题
- hdu1671Phone List(字典树---判断有无相同的前缀单词)
- 数据结构&&字典树、单词查找树
- 利用字典key的唯一性查找重复的字符串(去掉重复的字符串也是一样的)
- 利用Trie树,来查找单词出现的次数
- 算法——利用Trie树统计某种前缀的单词的个数
- poj2001Shortest Prefixes【字典树找最短唯一前缀】
- 字典树详解----串查找、排序、公共前缀之杀手锏
- Trie树计算单词前缀的个数
- 百度面试题--给定一个单词,从字典查找该单词的所有兄弟单词
- 【网易有道面试题一】求单词集可以唯一标识每个单词的最短前缀
- 【JS/JQuery】使用JS去除文本框前…
- 【JS/JQ】判断文本框输入的只能是…
- setlocale同mbstowcs函数的关系
- .NET Oracle Developer的福音——ODP.NET Managed正式推出
- HDU 2061 Treasure the new start, freshmen!
- 利用字典树查找唯一标记某单词的最小前缀
- 求最大子序列的实现
- unity3D--数据库
- 替换掉字符串中的空格
- Java中的static关键字解析
- 韩顺平php视频笔记38-41 php数据类型(部分)
- POJ 2387 Til the Cows Come Home
- ThinkPHP3.1.3核心类 Dispatcher.class.php
- 初识银行软件测试