每日算法4:求二叉树中节点的最大距离

摘要: 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义“距离”为两个节点之间边的个数,写一个程序求一棵二叉树中距离最远的两个节点之间的距离。 阅读全文
posted @ 2012-11-16 03:01 juewuly 阅读(161) 评论(0) 推荐(0)

每日算法3:电话号码对应英语单词

摘要: 电话的号码盘一般可以用于输入字母。如用2可以输入A、B、C,用3可以输入D、E、F等。对于号码5869872,可以依次输出其代表的字母组合。如JTMWTPA、JTMWTPB……依据这样的对应关系设计一个程序,尽可能快地从这些字母组合中找到一个有意义的单词来表述一个电话号码。如:可以用单词“computer”来描述号码26678837。 阅读全文
posted @ 2012-11-15 00:47 juewuly 阅读(255) 评论(0) 推荐(0)

每日算法2:求数组中最长递增子序列的长度

摘要: 写一个时间复杂度尽可能低的程序,求一个一维数组(N个元素)中最长递增子序列的长度。例如:在序列 1,-1,2,-3,4,-5,6,7中,其最长递增子序列的长度为4(如:1,2,4,6) 阅读全文
posted @ 2012-11-14 02:17 juewuly 阅读(244) 评论(0) 推荐(0)

每日算法1:求数组的子数组之和的最大值

摘要: 一个有N个整数元素的一维数组(A[0],A[1],…,A[n-2],A[n-1]),这个数组当然有很多子数组,那么子数组之和的最大值是什么呢?例如有如下数组:-2,5,3,-6,4,-8,6 返回值为8 阅读全文
posted @ 2012-11-13 01:01 juewuly 阅读(178) 评论(0) 推荐(0)