摘要:
KMP算法,Knuth-Morris-Pratt Algorithm,一种由Knuth(D.E.Knuth)、Morris(J.H.Morris)和Pratt(V.R.Pratt)三人提出的一种快速模式匹配算法。KMP朴素算法原理:子串pattern依次与目标串target中的字符比较,如果相等,继续比较下一个字符;如果不等,pattern右移一位,重新开始比较,直至匹配正确或超出target。示例:子串pattern={aabaa},目标串target={aababaacaabaa},比较过程如下图:特点:思路简单、代码直观;但效率低、有回溯、不够简洁、时间复杂度高// 在target中查找 阅读全文
摘要:
题目:数组中某数字减去其右边的某数字得到一个数对之差,求所有数对之差的最大值。例如:数组{2, 4, 1, 16, 7, 5, 11, 9}中,数对之差的最大值是11(16 - 5)分析:看到这个题目,很多人的第一反应是找到这个数组的最大值和最小值,然后觉得最大值减去最小值就是最终的结果。但由于我们无法保证最大值一定位于数组的左边,因此这个思路不管用。让每一个数字逐个减去它右边的所有数字,并通过比较得到数对之差的最大值,总的时间复杂度是O(n2)。解法1:分治法(递归实现)通常蛮力法不会是最好的解法,我们想办法减少减法的次数。假设我们把数组分成两个子数组,我们其实没有必要拿左边的子数组中较大的 阅读全文
摘要:
2011年12月28日 星期三 雾昨天下午回家的路上爸爸和妈妈产生了点小矛盾,彼此冷战,不说话。洗澡的时候姥姥打来电话,妈妈没接着,事后回过去,问姥姥有啥指示?姥姥说周五晚上太爷爷要过生日,希望大家都去,妈妈心情不好,就胡乱应和着,末了姥姥照旧问妈妈是否要和Ken通话,妈妈不想说,但Ken貌似很想和妈妈交流,那就说呗,Ken问妈妈“妈妈,你今天过的咋样?”,妈妈回答“不好,因为和你爸爸吵架了!”“吵架!?是不是爸爸又和你大声说话?”“是啊,你爸平常不都这样”“那你不会用更大的声音说他”“我不敢啊,大马路上我说话声音太大,警察抓我怎么办?”“那,那等我周六。。。”“周六你们要上课,你们周六下午才 阅读全文
摘要:
本文地址:http://blog.csdn.net/kongxx/article/details/7107683在安装了cx_Oracle和Oracle Instant Client软件包之后,使用"import cx_Oracle"导入包的时候出现下面的问题ImportError: libclntsh.so.10.1: cannot open shared object file: No such file or directory此时是由于python在操作oracle数据库的时候需要用到oracle的一些库,而上面的问题就是说python需要的这些库不在环境的路径里, 阅读全文
摘要:
本文地址:http://blog.csdn.net/kongxx/article/details/71076611. 要想使Python可以操作Oracle数据库,首先需要安装cx_Oracle包,可以通过下面的地址来获取安装包http://cx-oracle.sourceforge.net/2. 另外还需要oracle的一些类库,此时需要在运行python的机器上安装Oracle Instant Client软件包,可以通过下面地址获得http://www.oracle.com/technetwork/database/features/instant-client/index-097480 阅读全文
摘要:
本文地址:http://blog.csdn.net/kongxx/article/details/7107649在新的CentOS6上默认没有包含xfce的桌面环境,使用yum也找不到这些包,但是自己又喜欢这种简单的桌面环境,此时可以使用下面的方法来安装$ wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
$ sudo rpm -ivh epel-release-6-5.noarch.rpm
$ sudo yum search xfce
$ sudo yum groupinf 阅读全文