算法与数据结构
文章平均质量分 79
christian_gao
这个作者很懒,什么都没留下…
展开
-
KMP算法(无回溯字符串匹配)基于python实现
1.问题导出给你两个字符串,一个是目标串,比如是“ababcabccacbab”,另一个是模式串,比如是“abcac”,现在想在目标串中找出是否含有模式串的子串,如果有,返回第一个字母的下标,如果无,返回-1当运用朴素的串匹配算法去解答该题时,分为以下两步:(1)目标串与模式串从左到右依次匹配(2)当发现不匹配时,转去考虑考虑目标串里的下一个位置是否与模式串匹配思路非常简单,但是当考虑复杂度时,可...原创 2018-04-03 15:56:02 · 1722 阅读 · 0 评论 -
leetcode 211 Add and Search Word - Data structure design(java 实现)
此题是字典树的应用 字典树(Trie树),是一种利用字符的单个匹配来实现树的一层层遍历,利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 它有3个基本性质: 根节点不包含字符,除根节点外每一个节点都只包含一个字符; 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串; 每个节点的所有子节点包含的字符都不相同。 在此题中,因为添加了...原创 2019-01-16 10:55:43 · 264 阅读 · 0 评论 -
leetcode 87.Scramble String(Java 实现)
1.此题主要的难度在于难以区分割开的点是在哪一点上,所以必然要通过遍历的方法将所有可能割开的点遍历一遍。 2.s1割开的点可以形成两个字串(s1.substring1(0,i),s1.substring2(i+1,s1.size-1)),其与s2割开的字串(s1.substring1(0,i),s1.substring2(i+1,s1.size-1))要想相互匹配必须满足下面的条件。 假如在该...原创 2019-01-16 18:51:38 · 252 阅读 · 0 评论