02 2015 档案

摘要:觉得这题挺有意思,看了别的博客,找到了一种目前看来还不错的算法,为强化理解,就写了下来。 题目意思: 实现一个挺高级的字符匹配算法: 给一串字符串,要求找到符合要求的字符串,例如对于目的串:123,那么给定字符串中诸如1******3*****2,12******3这些形式的子串都要找出来,即子串中含有目的串的所有字符,输出所有符合条件的字符串,并求出最短子串 。类似于和谐系统。 例如:假如目... 阅读全文
posted @ 2015-02-24 23:10 asdfping 阅读(720) 评论(0) 推荐(0)
摘要:关于比特位算法,在《编程珠玑》中有很多地方都提到了利用比特位存储数据的算法(这本书中称之为位向量),例如第1章中利用比特位实现一个内存占用小的磁盘查找程序,第13章利用比特位实现集合等待。在很多地方,都可以利用比特位来巧妙地实现一些算法,大大提高算法的执行效率,下面举两个例子说明(题目来源于LeetCode): LeetCode 85:Maximal Rectangle 这道题目意思是:给定一个只... 阅读全文
posted @ 2015-02-09 11:40 asdfping 阅读(1156) 评论(0) 推荐(0)
摘要:求数组的子数组之和的最大值是在《编程之美》上的一道题,觉得挺有意思,就写下此文,也便于自己以后温习。 这道题的解法有很多种,比较容易想到的方法有枚举法,就是把所有的子数组长度的和都计算一遍,求出其中的最大值。这种算法的时间复杂度是O(n^2);还有分治法,就是将数组分为一半一半,那么最大和=Max(左半边的最大和,右半边的最大和,左右两边衔接处所所构成的最大和),其解的示意图如下所示。 这种... 阅读全文
posted @ 2015-02-08 20:53 asdfping 阅读(364) 评论(0) 推荐(0)