随笔分类 -  算法

摘要:Manacher算法O(n):主要可以求出以每个字符为中心的最长回文有多长,这个算法有一个很巧妙的地方,它把奇数的回文串和偶数的回文串统一起来考虑了;这个算法还有一个很好的地方就是充分利用了字符匹配的特殊性,避免了大量不必要的重复匹配。 因为对于偶回文,是需要从虚轴扩充,ab,ba,所以如下: 先把 阅读全文
posted @ 2016-08-28 17:03 sunshinelym 阅读(228) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2016-08-28 17:02 sunshinelym 阅读(203) 评论(0) 推荐(0)
摘要:题目描述:Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因 阅读全文
posted @ 2016-08-28 17:01 sunshinelym 阅读(650) 评论(0) 推荐(0)
摘要:给定一组正整数数组,给出一种排序方法,使得可以按照每个元素出现的频率从高到低输出,相同频率的按照原来序列输出。 阅读全文
posted @ 2016-08-27 23:43 sunshinelym 阅读(312) 评论(0) 推荐(0)
摘要:设数组长度为n,按照从小到大排序 1:从第一个数开始,比较相邻的前后两个数字,如果前面数据大于后面数据,交换两个数据;否则继续比较 2:当从data[0]遍历到data[n-1]后,最大的数字沉在data[n-1]的位置,即数组末尾; 3:n=n-1,重复上面两步,直到n=0。 优化1:设置flag 阅读全文
posted @ 2016-06-14 09:01 sunshinelym 阅读(144) 评论(0) 推荐(0)
摘要:今天看算法题的时候遇到“找出数组中出现次数超过数组长度一般的数字”,需要用到快速排序,然而,又忘记了...... 赶紧一点点回顾起来:(以后记得动手写代码,反复练习) 快速排序:重点是求出基准记录所在的位置,效率O(N*logN) http://blog.csdn.net/morewindows/a 阅读全文
posted @ 2016-06-11 10:07 sunshinelym 阅读(201) 评论(0) 推荐(0)