09 2012 档案

摘要:问题描述:我们把只包含因子2、3和5的数成为丑数(Ugly Number)。例如6、8都是丑数,但是14不是。我们习惯将1作为第一个丑数。求从小到大顺序的100个丑数。问题解答:穷举,暴力的方法总是可以解决问题的,只是需要你的耐心等待;维持3个下标,表示前面的数据已分别做过*2、*3、*5操作(下标... 阅读全文

posted @ 2012-09-21 12:27 aho 阅读(357) 评论(0) 推荐(0)

摘要:转自:wuzhekai的专栏 http://blog.csdn.net/wuzhekai1985/article/details/6704794 mark 以供自己复习问题描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。思路:如果只有一个数字只出现一次,而其他都出现两次,则直接将所有数字做一次异或运算即可,因为相等的数字异或一下结果为0。如果有两个数字只出现一 次,而其他数字出现了两次。该怎么办呢?《编程之美》一书提供了一种方法,即先将所有数字做一次异或运算,得到一个数字,然后以该数字的某非0位作 阅读全文

posted @ 2012-09-21 10:35 aho 阅读(260) 评论(0) 推荐(0)

摘要:问题描述:给你一个链表的表头指针head,如何判断链表中是否有环?扩展问题:如果有环,请找出环的入口点。问题解答:对于第一个问题,有一个很普遍的作法,就是使用快慢指针,一个指针一次走一步,另一个指针一次走两步,看是否相遇,便可以很容易得到结果。细节不再赘述。需要仔细分析的是第二个问题,如下图所示假设我们的链表形状是途中所示,那么可以看出块慢指针在节点3处相遇,我们假设1到2之间的距离是x, 2到3之间的距离是y, 3到2之间的距离是z,那么我们根据快指针每次走两步的特性可以得出下列公式:2*(x + y) = x + y + k*(y + z) 其中k为1 , 2……由上面公式我们又可以推到出 阅读全文

posted @ 2012-09-20 16:36 aho 阅读(499) 评论(2) 推荐(0)

摘要:转自zf_zhouf的博客关于InnoDB架构的文章,写的很详细,给自己mark下,以后需要还能再翻出来看看。一共5篇,下面的链接只是第一篇http://blog.163.com/zf_zhouf/blog/static/20009802620113795850255/ 阅读全文

posted @ 2012-09-15 17:24 aho 阅读(166) 评论(0) 推荐(0)

摘要:准备知识Merkle tree[1] 上图(来自Wikipedia[1])给出了一个二进制的哈希树(二叉哈希树, 较常用的tiger hash tree也是这个形式). 据称哈希树经常应用在一些分布式系统或者分布式存储中的反熵机制(Anti-entropy),也有称做去熵的.这些应用包括 Amazon的Dynamo 还有Apache的Cassandra数据库, 通过去熵可以去做到各个不同节点的同步, 即保持各个节点的信息都是同步最新. 哈希树的特点很鲜明: 叶子节点存储的是数据文件,而非叶子节点存储的是其子节点的哈希值(称为MessageDigest) 这些非叶子节点的Hash被称作路径哈希值 阅读全文

posted @ 2012-09-10 15:53 aho 阅读(2011) 评论(0) 推荐(0)

摘要:概述: 在很多的MySQL检索应用中,为了提高热点查询的效率,往往会选择在MySQL数据库前边加上一层Memcached做查询缓存。这样在中间查询层,用户程序需要自己先去Memcached里面查询一遍自己需要的key是否已被缓存,若没有,则再去MySQL数据库中进行相应的查询。在MySQL5.6版本后,InnoDB存储引擎开始集成Memcached: 上图中的SQL到Memcached的add、incr等操作完全在MySQL server端进行。不需要人为的进行操作解析,所带来的好处包括:自动持久话。存储引擎自动做Memcached到数据文件间的持久化,所以一些add、incr操作也可以直接对 阅读全文

posted @ 2012-09-06 18:03 aho 阅读(758) 评论(0) 推荐(0)

导航