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

学网校app下载seo文章生成器

学网校app下载,seo文章生成器,网络安全方案设计步骤,做网站收入一、题目 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.shuangfujiaoyu.com/news/2310.html

相关文章:

  • 大方网站制作今日头条收录入口
  • html5网站后台怎么做百度推广课程
  • 北流网站制作推广普通话图片
  • 专门做2手手机的网站推广的方式有哪些
  • 自己的网站怎么制作最新热点新闻事件
  • 网站前台做哪些工作搜索网站哪个好
  • 专业的专业的网页制作公司什么是seo教程
  • 微信公众号在线客服汕头seo不错
  • 物流公司在哪做网站外链怎么打开
  • 房屋设计在线设计网站个人网站seo
  • 做私活 网站平台优化是指什么
  • 怎样做视频播放网站seo型网站
  • vs哪个版本做网站好网络推广软文
  • wordpress amp插件seo优化方案案例
  • 昆山建设工程交易网站爱站网 关键词挖掘
  • 网站怎么做成小程序怎么推广比较好
  • 西安cms模板建站新网站如何快速收录
  • 把网站做静态化市场推广方案和思路
  • 网站添加内容电商平台怎么做
  • 天津住房与城乡建设厅网站百度网站排名查询
  • 如何把做的网站与域名连接不上windows优化大师官方
  • 招工网站怎么做河源seo
  • 网站的照片上传的功能怎么做软件培训班学费多少
  • 卡地亚手表官方网站网推项目平台
  • 新素材网站深圳推广网络
  • 卖鞋的网站建设思路杭州seo技术培训
  • 网站社区的建设东莞做网站的公司有哪些
  • 政务公开政府网站建设管理如何做电商新手入门
  • 网站建设有几种方式广告推广文案
  • 中国住房和城乡建设部网站6网站关键词排名如何提升