当前位置: 首页 > news >正文

手机网站建设推荐广州网站优化系统

手机网站建设推荐,广州网站优化系统,手机网站设计公司立找亿企邦,怎样建设有价值的网站一、题目 1、题目描述 请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。 实现词典类 WordDictionary : WordDictionary() 初始化词典对象void addWord(word) 将 word 添加到数据结构中,之后可以对它…

一、题目

1、题目描述

请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。

实现词典类 WordDictionary

  • WordDictionary() 初始化词典对象
  • void addWord(word)word 添加到数据结构中,之后可以对它进行匹配
  • bool search(word) 如果数据结构中存在字符串与 word 匹配,则返回 true ;否则,返回 falseword 中可能包含一些 '.' ,每个 . 都可以表示任何一个字母。

示例:

输入:
["WordDictionary","addWord","addWord","addWord","search","search","search","search"]
[[],["bad"],["dad"],["mad"],["pad"],["bad"],[".ad"],["b.."]]
输出:
[null,null,null,null,false,true,true,true]解释:
WordDictionary wordDictionary = new WordDictionary();
wordDictionary.addWord("bad");
wordDictionary.addWord("dad");
wordDictionary.addWord("mad");
wordDictionary.search("pad"); // 返回 False
wordDictionary.search("bad"); // 返回 True
wordDictionary.search(".ad"); // 返回 True
wordDictionary.search("b.."); // 返回 True

提示:

  • 1 <= word.length <= 25
  • addWord 中的 word 由小写英文字母组成
  • search 中的 word'.' 或小写英文字母组成
  • 最多调用 104addWordsearch

2、基础框架

class WordDictionary {
public:WordDictionary() {}void addWord(string word) {}bool search(string word) {}
};/*** Your WordDictionary object will be instantiated and called as such:* WordDictionary* obj = new WordDictionary();* obj->addWord(word);* bool param_2 = obj->search(word);*/

3、原题链接

211. 添加与搜索单词 - 数据结构设计

二、解题报告

1、思路分析

主要思路同【Leetcode】208.实现Trie(前缀树),但是需要注意,插入的时候只有小写字母字符,而查找的时候有"."和小写字母字符,所以遇到 “.” 字符时,所有子孩子非空的情况都要进行尝试。

2、时间复杂度

3、代码详解

class WordDictionary {
private:class Node {public:bool end;Node *childs[26];Node() : end(false) {memset(childs, 0, sizeof(childs));}};Node *root;//深度优先搜索bool pathSearch(string word, Node *root, int index) {if (index == word.size()) {return root->end;}Node *node = root;int path = 0;if (word[index] == '.') { //字符.for (int i = 0; i < 26; i++) { //所有非空的孩子都要尝试if (node->childs[i]) {bool res = pathSearch(word, node->childs[i], index + 1);if (res) return true;}}return false;} else { //字母字符path = word[index] - 'a';if (node->childs[path] == nullptr) {return false;}return pathSearch(word, node->childs[path], index + 1);}}
public:WordDictionary() {root = new Node();}void addWord(string word) {Node *node = root;int path = 0;for (int i = 0; word[i]; i++) {path = word[i] - 'a';if (node->childs[path] == nullptr) {node->childs[path] = new Node();}node = node->childs[path];}node->end = true;}bool search(string word) {return pathSearch(word, root, 0);}
};/*** Your WordDictionary object will be instantiated and called as such:* WordDictionary* obj = new WordDictionary();* obj->addWord(word);* bool param_2 = obj->search(word);*/
http://www.15wanjia.com/news/10364.html

相关文章:

  • 免费网站建站+凡科建站网站优化排名哪家好
  • 企业发展法治宣传北京关键词优化平台
  • 做百度色情网站排名赚钱吗ps培训
  • Python做网站 性能龙岗网站设计
  • 屏蔽蜘蛛抓取 对网站有什么影响防恶意竞价点击软件
  • 如何做网站店铺的模板哪些平台可以发广告
  • 自己的主机做网站服务器中国军事新闻最新消息
  • 关键词整站优化公司优化方案官网
  • 惠网 做网站正规拉新推广平台有哪些
  • 做国内网站阿里云怎么样广告平台网站有哪些
  • 做网站都需要哪些知识朋友圈广告推广文字
  • 西安小程序制作北京seo设计公司
  • 佛山高端外贸网站建设怎样开自己的网站
  • 网站开发大约多少钱seo刷网站
  • 网站推广关键词工具郑州seo优化外包热狗网
  • 做医疗网站要几个人永久免费的电销外呼系统
  • 杂志在线设计网站东莞做网站的联系电话
  • 在国内做博彩网站代理搜狗网站
  • 开一个素材设计网站怎么做无锡百度正规公司
  • 做公司网站需要多少钱seo做得比较好的公司
  • php是做网站美工的吗seo标题优化裤子关键词
  • 做网站申请完空间后下一步干啥重庆森林百度网盘
  • 专业建设的几个方面企业seo职位
  • 做我男朋友好不好网站百度快照替代
  • 玛多县网站建设公司百度关键词首页排名怎么上
  • 网页商城设计商城网站设计案例免费培训seo网站
  • 简洁ppt模板下载 免费seo和sem是什么
  • 营销型网站关键词多少为好百度知道推广软件
  • 动画做视频在线观看网站百度关键词排名联系
  • 昆明市 网站建设如何建立网址