
算法学习
文章平均质量分 81
梦逝星痕
这个作者很懒,什么都没留下…
展开
-
300. Longest Increasing Subsequence
最长升序子序列,很经典的问题,发现写博客的真是不负责任啊,瞎写一通根本没有任何逻辑,本文主要参考http://yzmduncan.iteye.com/blog/1546503,加上自己的理解和实现的代码。最长递增子序列问题:在一列数中寻找一些数,这些数满足:任意两个数a[i]和a[j],若i设dp[i]表示以i为结尾的最长递增子序列的长度,则状态转移方程为:dp[i] =原创 2016-05-13 10:06:05 · 353 阅读 · 0 评论 -
[算法学习]最长回文子串:Manacher算法
参考地址:http://www.cnblogs.com/bitzhuwei/p/Longest-Palindromic-Substring-Part-II.html#_label1首先我们把字符串S改造一下变成T,改造方法是:在S的每个字符之间和S首尾都插入一个"#"。这样做的理由你很快就会知道。例如,S="abaaba",那么T="#a#b#a#a#b#a#"。转载 2016-05-06 16:53:00 · 430 阅读 · 0 评论 -
[算法学习]线性时间排序:计数排序、基数排序和桶排序
在算法导论中第八章专门列出了线性时间的排序算法,常规的基于比较的排序算法的上限是O(nlogn),本章介绍了三个算法,计数排序,基数排序,桶排序。第一次接触是计数排序是leetcode上面有一道计算论文什么因子的题,基数排序和桶排序在上学期算法课上老师讲过,当时一知半解,一直以为他们两个是同一个算法。最近自习看完了这一张才发现这两个算法是完全不一样的,看了一些博客也有很多的把这两个算法混淆,我原创 2016-05-24 18:57:16 · 424 阅读 · 0 评论 -
31. Next Permutation
参考地址 http://www.mamicode.com/info-detail-650903.html首先,关于什么是全排列不做解释。如果一个排列为A,下一个排列为A_NEXT,那么A_NEXT一定与A有尽可能长的公共前缀。看具体例子,一个排列为124653,如何找到它的下一个排列,因为下一个排列一定与124653有尽可能长的前缀,所以,脑洞大开一下,从后面往前看这转载 2016-05-09 09:03:09 · 337 阅读 · 0 评论 -
[算法学习]字符串匹配
一段正在被编辑的文本构成一个文件,而所要搜寻的模式是用户正在输入的特定的关键词,有效解决这个问题的算法叫做字符串匹配算法。假设给定文本是长度为n的数组T,而模式是一个长度为m的数组P。算法导论第32章,字符串匹配问题。本章一共给出了四个算法,分别是朴素算法,Rabin-Karp算法,有限自动机算法和kmp算法。一、朴素算法朴素算法就是直接的暴力破解,两层循环,外层n-m+1,内层m原创 2016-05-25 14:36:30 · 284 阅读 · 0 评论 -
[编程之美]买票找零(卡特兰数)
第一次看这题的时候没有好好注意,后来发现这是一类大问题,学习了卡特兰数这个概念,顺便又复习了高中的排列组合知识、、、一、书中问题先看一下书中引入卡特兰数的例子: 《编程之美》4.3买票找零:2n个人排队买票,其中n个人持50元,n个人持100元。每张票50元,且一人只买一张票。初始时售票处没有零钱找零。请问这2n个人一共有多少种排队顺序,不至于使售票处找不开钱?分析1:队伍的序号标为0,1,…原创 2016-07-31 12:13:12 · 3437 阅读 · 0 评论