数据结构算法
文章平均质量分 79
两行偏执
沉下心,切记心浮气躁
展开
-
浅谈字符串匹配算法——马拉车算法(Manacher‘s Algorithm)
LeetCode - 最长回文串 简书马拉车https://www.jianshu.com/p/392172762e55https://zhuanlan.zhihu.com/p/70532099这个算法的总框架是,遍历所有的中心点,寻找每个中心点对应的最长回文子串,然后找到所有中心点对应的最长回文子串首先我们先了解一下什么是回文串,// 暴力解法public String longestPalindrome(String s) { if (s == null ...原创 2021-05-27 22:23:35 · 348 阅读 · 1 评论 -
浅谈字符串匹配算法——KMP算法
KMP算法百度百科KMP算法要解决的问题就是在字符串(也叫主串)中的模式(pattern)定位问题。说简单点就是我们平时常说的关键字搜索。模式串就是关键字(接下来称它为P),如果它在一个主串(接下来称为T)中出现,就返回它的具体位置,否则返回-1(常用手段)。首先,对于这个问题有一个很单纯的想法:从左到右一个个匹配,如果这个过程中有某个字符不匹配,就跳回去,将模式串向右移动一位。这有什么难的?我们可以这样初始化:之后我们只需要比较i指针指向的字符和j指针指向的字符是否一致。如果一致就原创 2021-05-16 20:21:47 · 262 阅读 · 0 评论 -
Java 单链表应用一
设计一个链表结构来对数组进行排序,并可以添加删除节点1. 链表结构class MyLink { public int data; public MyLink next; /* 构造函数 */ public MyLink(int data) { super(); this.data = data; } /* 重载toString方法 */ @Override public String toString()原创 2021-02-19 21:04:22 · 1273 阅读 · 0 评论