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

网站开发系统论文discuz修改网站关键词

网站开发系统论文,discuz修改网站关键词,沈阳建筑大学网络信息化中心,wordpress图片浏览插件下载心路历程#xff1a; 一道题干进去了一个下午#xff0c;单纯从解题角度可以直接用python的集合就很简单地解决#xff08;不知道是不是因为python底层的set()类#xff09;。后来从网上看到这道题应该从前缀树的角度去做#xff0c;于是花了半个多小时基于字典做了前缀树… 心路历程 一道题干进去了一个下午单纯从解题角度可以直接用python的集合就很简单地解决不知道是不是因为python底层的set()类。后来从网上看到这道题应该从前缀树的角度去做于是花了半个多小时基于字典做了前缀树的做法后来想锻炼一下多叉树的做法又花了一个多小时尝试。 前缀的含义是一个字符串的包含第一个元素作为开始的子序列在代码自动补全里应用很多。 注意的点 1、在利用字典建立多叉树的时候一般是利用循环不变量的原则每一层赋值root然后判断当前层是否已经之前创建过。 2、利用class建立多叉树的时候注意不要在初始化默认参数处设置children[]否则所有示例化对象的children都指向同一个内存花了很长时间找这个bug。 3、注意在一个单词添加完之后结尾要跟上一个结束判断符来区分到底是一个完整的单词还是一个其他长单词的一个部分。 4、写出来bug是很正常的事情只要按照顺序检查输入输出关系即可debug。 解法一python原生集合 class Trie:def __init__(self):self.set set()self.prefixset set()def insert(self, word: str) - None:self.set.add(word)for j in range(1, len(word)1): # 这块是取不到的所以要加一两个取不到的叠加self.prefixset.add(word[:j])def search(self, word: str) - bool:if word in self.set:return Trueelse:return Falsedef startsWith(self, prefix: str) - bool:# return True 直接return true可以过一半测试用例if prefix in self.prefixset:return Trueelse:return False解法二用字典实现多叉前缀树 class Trie:def __init__(self): # 用字典做一个前缀树self.dict {}self.end !def insert(self, word: str) - None:root self.dictfor i in range(len(word)):if word[i] not in root.keys():root[word[i]] {} # 循环不变量root root[word[i]]root[self.end] Nonedef search(self, word: str) - bool:# print(self.dict)root self.dictfor c in word:if c in root.keys():root root[c]else:return False# 还得保证单词结尾if self.end in root.keys():return Trueelse:return Falsedef startsWith(self, prefix: str) - bool:root self.dictfor c in prefix:if c in root.keys():root root[c]else:return Falsereturn True 解法三利用多叉树类实现前缀树对比起来还是用字典实现多叉树方便一些 class TreeNode:def __init__(self, valNone): # 不能在这里给children[]赋值然后再self.children children否则所有实例都维护一个列表内存浅拷贝问题self.val valself.children [] # !!!def values(self):values []for eve in self.children:values.append(eve.val)return valuesdef findvalindex(self, aval):for i in range(len(self.children)):if self.children[i].val aval:return iassert Falseclass Trie:def __init__(self): # 用多叉树作前缀树self.root TreeNode()def insert(self, word: str) - None:root self.rootfor i in range(len(word)):if word[i] not in root.values():node TreeNode(word[i])root.children.append(node)root node # 这句话无法赋值有赋值作用并且内存也确实变了但是不知道为什么.values()方法都赋值到了根节点上去-》因为浅拷贝到了一个列表上# print(root, root.children[-1])else:vindex root.findvalindex(word[i])root root.children[vindex]leaf TreeNode(!)root.children.append(leaf) # 加入结束符号def search(self, word: str) - bool:root self.rootfor c in word:if c in root.values():vindex root.findvalindex(c)root root.children[vindex]else:return False# print(root.values())# 此时root的children中应该包含leafif ! in root.values():return Trueelse:return Falsedef startsWith(self, prefix: str) - bool:root self.rootfor c in prefix:if c in root.values():vindex root.findvalindex(c)root root.children[vindex]else:return Falsereturn True # 不需要是none
http://www.w-s-a.com/news/56981/

相关文章:

  • 网站推广效果怎么样建设工程公司组织架构图
  • 成都制作网站价格表网站安全证书过期怎么办
  • 高校图书馆网站的建设方案湖南常德市
  • 房地产怎么做网站推广wordpress插件汉化下载
  • 一般pr做视频过程那个网站有无锡网络公司平台
  • 安徽网站推广系统网站根目录权限设置
  • 班级网站建设需求智慧校园登录入口
  • asp.net网站发布到虚拟主机电商设计网站哪个好
  • 做的网站怎么转成网址链接企业为什么要找会计
  • 关于建设网站的情况说明书文化建设方面的建议
  • 订票网站开发公司大通证券手机版下载官方网站下载
  • 网店美工的意义与发展佛山推广seo排名
  • 网站在建设中模板自助云商城
  • 珠海网站设计建建建设网站公司网站
  • 广州高端网站制作公司哪家好网页制作公司 软件
  • 最快做网站的语言百度站长反馈
  • 简单网站设计价格手机网站技巧
  • 什么颜色做网站显的大气网站建设的含盖哪方面
  • 没网站怎么做二维码扫描连接济南做网站推广哪家好
  • 台州建设规划局网站搞外贸一般是干什么的
  • 怎么提高自己网站的知名度电子商务是建网站
  • 官方查企业的网站办公用品网站建设策划书
  • 微信网站搭建哪家好网站中转页
  • 阿里巴巴网站开发是谁长沙自助模板建站
  • 阿里云网站方案建设书网络公司运营是干啥的
  • 南通seo网站排名优化nginx wordpress rewrite
  • 网站做成软件做内部网站费用
  • 浙江企业网站建设网站域名有了 网站如何建设
  • 学编程哪个机构有权威德州做网站优化
  • 最火的网站开发语言福州网站建设服务商