上一页 1 ··· 4 5 6 7 8 9 10 11 下一页
摘要: 肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型。定义2:所有引用基类的地方必须能透明地使用其子类的对象。问题由来:有一功能P1,由类A完成。现需要将功能P1进行扩展,扩展后的功能为P,其中P由原有功能P1与新功能P2组成。新功能P由类A的子类B来完成,则子类B在完成新功能P2的同时, 阅读全文
posted @ 2014-04-09 09:16 z陵 阅读(186) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/zhengzhb/article/category/926691/1图片素材来源,java学习手册ps.内容为自己整理定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。说到单一职责原则,很 阅读全文
posted @ 2014-04-09 09:15 z陵 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 时间限制:10000ms单点时限:1000ms内存限制:256MB描述You are given a sequence of integers, A = a1, a2, ... an. A consecutive subsequence of A (say ai, ai+1... aj) is called a "repeated sequence" if it appears more than once in A (there exists some positive k that ai+k= ai, ai+k+1= ai+1, ... aj+k= aj) and it 阅读全文
posted @ 2014-04-09 08:54 z陵 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 【面试题001-补充】C++ MyString类的封装一,C++ MyString类的封装String.h:123456789101112131415161718192021222324252627282930313233#ifndef_STRING_H_#define_STRING_H_#includeusingnamespacestd;classString{public:String(constchar*str="");String(constString&other);String&operator=(constString&other);S 阅读全文
posted @ 2014-04-09 08:48 z陵 阅读(807) 评论(0) 推荐(0) 编辑
摘要: 面对问题,理解了思路,但是没有任何想法的时候,不妨从n=1 n=2开始分析下,然后找到递推公式进而成功accept!【二叉树的构建】已知前序和中序遍历序列可以确定这个二叉树。已知中序和后序遍历序列可以确定这个二叉树。层次遍历和后序遍历也可以确定二叉树。二叉排序树和其他遍历序列的结合可以确定二叉树。构建的思路是: 因为树的定义,本身就是一个递归的定义,那么由遍历序列构建树的时候,解决问题的思路往往就是由已知条件,找出树的根节点,然后把大问题,划分成小的问题,现在小的问题是,左右两个子树的问题,返现左右两个子树和原问题是一模一样的,所以可以用递归来解决问,联系子问题和大问题的纽带是当前这颗树的.. 阅读全文
posted @ 2014-04-08 17:05 z陵 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 我们都知道,已知中序和后序的序列是可以唯一确定一个二叉树的。初始化时候二叉树为:==================中序遍历序列, ======O===========后序遍历序列, =================O红色部分是左子树,黑色部分是右子树,O是根节点如上图所示,O是根节点,由后序遍历可知,根据这个O可以把找到其在中序遍历当中的位置,进而,知道当前这个根节点O的左子树的前序遍历和中序遍历序列的范围。以及右子树的前序遍历和中序遍历序列的范围。到这里返现出现了重复的子问题,而且子问题的规模没有原先的问题大,即红色部分和黑色部分。而联系这两个子问题和原先的大问题的纽带是这... 阅读全文
posted @ 2014-04-08 17:04 z陵 阅读(598) 评论(0) 推荐(0) 编辑
摘要: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定一个二叉树,节点的值仅限于从0-9,每一个从根节点达到叶子节点的路径代表一个数字。一个例子,如果根节点到叶子节点的路径是1->2->3,那么代表这个数字是123。寻找所有路径代表的数字的和。例如: 1 / \ 2 3从根节点到叶子节点的路径是1->2代表的数字是12.从根节点到叶子节点的路径是1->3代表的数字是13.返回和为 sum = 12 + 13 =25.+++++++++++++++++++++ 阅读全文
posted @ 2014-04-08 17:03 z陵 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 我们都知道,已知前序和中序的序列是可以唯一确定一个二叉树的。初始化时候二叉树为:==================前序遍历序列, O=================中序遍历序列, ======O===========红色部分是左子树,黑色部分是右子树,O是根节点如上图所示,O是根节点,由前序遍历可知,根据这个O可以把找到其在中序遍历当中的位置,进而,知道当前这个根节点O的左子树的前序遍历和中序遍历序列的范围。以及右子树的前序遍历和中序遍历序列的范围。到这里返现出现了重复的子问题,而且子问题的规模没有原先的问题大,即红色部分和黑色部分。而联系这两个子问题和原先的大问题的纽带是... 阅读全文
posted @ 2014-04-08 17:03 z陵 阅读(376) 评论(0) 推荐(0) 编辑
摘要: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定一个二叉树 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; }填入每个节点的next指针,如果没有右边的节点,那么这个next指针设置为NULL。初始时候所有歌next指针都设置成NULL。Note:空间复杂度必须是常量级别的。你可以假设这是个完全二叉树 (ie, 所有的... 阅读全文
posted @ 2014-04-08 17:02 z陵 阅读(207) 评论(0) 推荐(0) 编辑
摘要: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定一个二叉树,寻找值最大的路径。这个路径可以从这个树上面的任意一个节点开始,然后在任意一个节点结束。例如:给定下面的二叉树, 1 / \ 2 3返回6.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Given a binary tree, find the maximum path... 阅读全文
posted @ 2014-04-08 17:01 z陵 阅读(235) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 下一页