摘要: 买芒果嘴馋的你想吃芒果了,于是你走到水果摊,挑了几个让老板过过秤,然后你再根据芒果的斤两付钱走人。显然,买芒果你当然是挑着最甜、最熟的来买(因为你是根据重量而不是质量来掏钱的)。怎么个挑法才靠谱呢?对了,你奶奶说过,金黄色的要比浅黄的更甜些。于是你就做了一个简单的规定:只挑金黄色的买,过磅、付钱、回... 阅读全文
posted @ 2016-01-12 11:17 迈克儿 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 字符串匹配相关:Boyer-Moore算法,比大名鼎鼎的KMP还要快3~5倍,特点是模式串从后向前匹配。参考地址:Boyer-Moore算法一个不错的网站:segmentfault.com 阅读全文
posted @ 2016-01-03 20:34 迈克儿 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 之前接触过bitmap,读吴军先生的数学之美,看到了一个更强大的数据结构,布隆过滤器(Bloomfilter),赶紧记下来吧,忘了怪可惜的。 bitmap的使用是很有局限性的,往往只能用于海量数值型数据查重,查漏。对于海量URL,字符串等等就显得无能为力了,这时候如果追求高效的时间复杂度O(k... 阅读全文
posted @ 2015-12-31 13:51 迈克儿 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 一般来说,解决字符串问题可用穷举法,找回文子串需要3层循环,时间复杂度O(n^3),这是无法接受的。回文子串显然符合以下特点:1.重叠子问题。2.最优子结构,动态规划可解之,复杂度O(n^2),还不错。重点介绍的是Manacher算法,leetcode有一篇讲解非常仔细:http://article... 阅读全文
posted @ 2015-12-24 11:08 迈克儿 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 这几天翻看python语法,看到装饰器这里着实卡了一阵,最初认为也就是个函数指针的用法,但仔细研究后发现,不止这么简单。首先很多资料将装饰器定义为AOP的范畴,也就是Aspect Oriented Programming面向切面编程的概念,不懂AOP不要紧,只要有函数指针的概念,又有嵌套函数的基础知... 阅读全文
posted @ 2015-12-14 19:14 迈克儿 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 在CSDN看到的一位牛人实现的多线程快排,暂时没细看,但是感觉有点小问题,他的多线程快排并没有实现我所想要的那种并行计算的结果,我理想中的多线程排序(这里特指快排)应该是类似于mapreduce的分拆和合并,在快排中,分拆是必然(和归并一样,基因决定嘛),分拆后的数组可以形成队列,按照核心数分给每个... 阅读全文
posted @ 2015-12-10 15:06 迈克儿 阅读(2040) 评论(0) 推荐(0) 编辑
摘要: 曾经以为写日记纸质版方便翻阅恒久远永流传,直到发现自己都不认识自己写的字...... 好吧,还是硬盘靠谱。 阅读全文
posted @ 2015-10-08 11:43 迈克儿 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 很多人在初学移动开发的时候会对object-c中的合成存取方法感到疑惑,此处尝试为看到本文有缘人答疑解惑,鄙人才疏学浅,难免有疏漏谬误之处,热烈欢迎诸位看官拍砖指点.1.合成存取方法:OC为增加开发效率,从2.0之后不需要程序员自己来写成员变量的setter和getter方法,取而代之的是自动合成的... 阅读全文
posted @ 2015-02-06 20:39 迈克儿 阅读(3421) 评论(0) 推荐(0) 编辑