- 博客(51)
- 收藏
- 关注
转载 1066. Root of AVL Tree (25)
1066. Root of AVL Tree (25)An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ...
2018-04-06 01:25:00
218
转载 1064. Complete Binary Search Tree (30)
1064. Complete Binary Search Tree (30)A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with ...
2018-04-06 01:20:00
206
转载 1053. Path of Equal Weight (30)
1053. Path of Equal Weight (30)Given a non-empty tree with root R, and with weight Wi assigned to each tree node Ti. The weight of a path from R to L is defined to be the sum of the weights of a...
2018-04-06 01:04:00
201
转载 1004. Counting Leaves (30)
1004. Counting Leaves (30)A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child.InputEach input file contains one test case. E...
2018-04-06 01:01:00
132
转载 设计模式之中介者模式
中介者模式概述中介者模式(Mediator)又称为调解者模式或调停者模式,中介者是一中行为型模式,听名字大家应该都知道了起到了中间桥梁的作用,在软件开发过程中,势必会碰到这样一种情况,多个类或多个子系统相互交互,而且交互很繁琐,导致每个类都必须知道他需要交互的类,这样它们的耦合会显得异常厉害。如果有这么一个中间者能够和所有的子系统交互,就会变得清晰的多.中介者模式就起到了这个作用...
2018-03-05 01:56:00
131
转载 设计模式之状态模式
状态模式概述状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类状态模式是行为型设计模式的一种,状态模式中的行为是由状态来决定的,不同的状态下有不同的行为.状态模式和策略模式相似,但是状态模式中的行为是平行的,不可替换的,策略模式中的行为是彼此独立的,可相互替换的.状态模式将对象的行为封装在不同的状态对象中,将对象的状态从对象中分离出来,客户端无需关...
2018-03-05 01:56:00
113
转载 设计模式之责任链模式
责任链模式概述责任链模式:将能够处理同一类请求的对象连成一条链,使这些对象都有机会处理请求,所提交的请求沿着链传递。从而避免请求的发送者和接受者之间的耦合关系。链上的对象逐个判断是否有能力处理该请求,如果能则就处理,如果不能,则传给链上的下一个对象。直到有一个对象处理它为止。UML- Handler:表示处理请求的接口,在这个接口里可以定义链上的下一个继承者,和一个处理请求的...
2018-03-05 01:55:00
112
转载 设计模式之命令模式
命令模式定义将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。分离变化与不变的因素。特点1.命令模式的本质是对命令进行封装,将发出命令的责任和执行命令的责任分割开。2.每一个命令都是一个操作:请求的一方发出请求,要求执行一个操作;接收的一方收到请求,并执行操作。3.命令模式允...
2018-03-05 01:54:00
104
转载 设计模式之模板模式
模板方法模式概述模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。比如定义一个操作中的算法的骨架,将步骤延迟到子类中。模板方法使得子类能够不去改变一个算法的结构即可重定义算法的某些特定步骤。UM...
2018-03-05 01:54:00
104
转载 设计模式之解释器模式
解释器模式概述解释器模式是一种用得比较少的行为型模式.提供了一种解释语言的语法或表达式的方式. 通过定义一个表达式接口,解释一个特定的上下文。其实这种模式就是定义编译原理中学习的文法的一种表示。UMLAbstractExpression: 抽象表达式,声明一个抽象的解释操作父类,定义一个抽象的解释方法,具体的实现由子类解释器完成TerminalExpression: 终结...
2018-03-05 01:53:00
111
转载 设计模式之访问者模式
访问者模式概述访问者模式是一种将数据操作与数据结构分离的模式是23中设计模式中最复杂的一个,使用频率也不是很高,但一旦需要它的时候将变得非常有用.软件系统中拥有一个由许多对象构成的,比较稳定的对象结构.这些对象的类都拥有一个accept方法用来接收访问者对象的访问.访问者是一个接口,拥有visit方法,这个方法对访问到的对象结构中不同类型的元素做出不同的处理.在对象结构的一次...
2018-03-05 01:52:00
93
转载 设计模式之迭代子模式
参考23种设计模式系列前言聚集多个对象聚在一起形成的总体称之为聚集(Aggregate),聚集对象是能够包容一组对象的容器对象。聚集依赖于聚集结构的抽象化,具有复杂性和多样性,数组就是最基本的聚集,也是其他Java聚集对象的设计基础。Java聚集(Collection)对象是实现了共同的java.util.Collection接口的对象,是Java语言对聚集的概念的直接支持。...
2018-03-05 01:51:00
117
转载 设计模式之策略模式
策略模式概述策略模式(Strategy)是一种行为型模式,好处是我们可以动态的改变对象的行为.针对一组算法或者策略,我们可以将其抽象出来,提供一个统一的接口,不同的算法或者策略有不同的实现类,通过注入不同的对象实现策略的动态替换,提高扩展性和维护性.定义策略模式定义了一系列算法,并将每一个算法封装起来,使得他们可以相互替换,策略模式让算法独立于使用它的客户端,在不影响到客户端...
2018-03-05 01:50:00
102
转载 设计模式之组合模式
概述组合模式:将对象组合成树形结构以表示:部分--整体 的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。java中的组合是指:在A类里定义一个B类的引用,A拥有了B,叫组合。只是单纯的组合而已,而不是一种设计模式。组合和组合模式不是一回事!基本上见到的树形结构都使用到了组合模式。UML- Leaf(叶子):表示该节点下面没有其他子节点了,就称为叶子Com...
2018-03-05 01:48:00
84
转载 设计模式之装饰者模式
装饰者模式概述装饰模式(decorator):表示动态的给一个对象添加一些新的功能(利用子类继承父类也可以实现),但是比生成子类方式更灵活。也叫装饰者模式或者装饰器模式。在理解装饰者模式最重要的就是理解组合和委托的两种思想,我们平时遇到的装饰者模式有IO集合、Android中的view等。UML- Component:定义一个对象接口,可以给这些对象动态添加职责。真实对象和装饰...
2018-03-05 01:47:00
97
转载 设计模式之享元模式
概述享元模式(FlyWeight):运用共享技术有效的支持大量细粒度对象的重用。享元对象能做到共享的关键就是区分了内部状态和外部状态。内部状态:可以共享,不会随环境变化而变化外部状态:不可以共享,会随环境变化而变化使用场景系统中存在大量的相似对象细粒度的对象都具备较接近的外部状态,而且内部状态与环境无关,也就是说对象没有特定身份.需要缓冲池的场景比如线程池,数据库连接池...
2018-03-05 01:46:00
91
转载 设计模式之外观模式
外观模式概述提供一个简易的接口,来访问子系统中的一群接口。外观定义了一个高层接口,让子系统容易使用。外观模式是我们封装api的常用手段.外观类中提供了客户端请求的简化方法和对现有系统类方法的委托调用,外观模式是一个结构型设计模式.UMLFacade : 系统对外的统一接口SystemA,System,SystemC: 子系统接口.使用场景为一个复杂子系统提供一个简单...
2018-03-05 01:45:00
69
转载 设计模式之适配器模式
适配器模式概述适配器模式定义:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。生活中的适配如果你自己接过水管或者自己接过洗衣机的水管头,你肯定有过类似的体验,无论你怎么接,它都会漏水,然后去店里一问,就知道有水管转换接头这么个东西。他可以让两个粗细不同对接不上的水管无缝的对接在一起。面向对象的适配器两套系统的使用接口不一致,但是你想...
2018-03-05 01:44:00
150
转载 设计模式之桥接模式
桥接模式概述桥接模式:Decouple an abstraction from its implementation so that the two can vary independently.(将抽象和实现解耦,使得两者可以独立地变化。而不会直接影响到其他部分。UMLAbstraction:抽象部分的接口。通常在这个对象里面,要维护一个实现部分的对象引用,在抽象对象里面...
2018-03-05 01:43:00
159
转载 设计模式之代理模式
概述 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.代理模式为另一个对象提供一个替身或占位符以控制对这个对象的访问。其实就是代理就是做到类似转发的功能,针对不同代理,转发的具体实现不同。这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法代理模式的关键点是:代理对象与目标对...
2018-03-05 01:42:00
97
转载 设计模式之原型模式
概述通过复制一个已存在对象来生成一个新对象,被复制的对象称为原型;UML• Prototype(原型) : 声明一个克隆自身的接口。• ConcretePrototype(具体的原型) :实现一个克隆自身的操作。• Client(场景) 让一个原型克隆自身从而创建一个新的对象。补充说明1、JAVA中Object的clone方法已经为什么提供了复制对象的实现,且该方法为本地...
2018-03-05 01:41:00
96
转载 设计模式之建造者模式
概述建造者模式:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示]假如一个对象的构建很复杂,需要很多步骤。则可以使用建造者模式,将其构建对象和组装成一个对象这两步给分开来。构建部分为(builder)和组织部分(director),实现了构建和装配的解耦。不同的构建器,相同的装配也可以做出不同的对象。相同的构建器,不同的装配...
2018-03-05 01:40:00
154
转载 设计模式之抽象工厂模式
概述抽象工厂模式是一种创建型设计模式,抽象工厂模式与工厂方法模式的主要区别是工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则需要面对多个产品等级结构。抽象工厂模式是工厂方法模式的升级版本,用来创建一组相关或者相互依赖的对象.工厂方法模式产生的产品都衍生自同一个接口或抽象类,而抽象工厂模式则是衍生自不同的接口或抽象类.UMLAbstractFactory : 抽象工厂角...
2018-03-05 01:39:00
103
转载 设计模式之工厂模式
概述工厂方法模式是创建型设计模式的一种,定义一个用于创建对象的接口,让子类决定实例化那个类,工厂方法使一个类的实例化延迟到其子类工厂方法模式也叫工厂模式或虚拟构造器模式,在工厂方法模式中,一个工厂父类包含多个工厂子类,父类定义接口,子类负责创建具体的产品对象.UML抽象工厂(Creator) : 工厂方法模式的核心具体工厂(ConcreateCreator) : 实现了具体...
2018-03-05 01:38:00
98
转载 设计模式之单例模式
单例模式概述单例模式:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。分类1 .最简单的形式--懒汉写法(线程不安全)package Create.SingletonPattern;/** * 懒汉式 */public class LazySingleton { private static LazySingleton singleton; ...
2018-03-05 01:34:00
68
转载 FR算法(Fruchterman-Reingold)
网络图布局算法在写课设的时候为了实现前趋图的自动布局,参看了有名的网络图软件gephi,决定使用FR算法对节点进行自动布局。算法基本思想FR算法将所有的结点看做是电子,每个结点收到两个力的作用:1. 其他结点的库伦力(斥力)2. 边对点的胡克力(引力)。那么在力的相互作用之下,整个布局最终会称为一个平衡的状态。算法中将排斥力和吸引力设置为 \(f_a(d) = \frac...
2018-03-01 23:55:00
4730
转载 简单记录下idea上配置spring
环境搭建流程直接配置web项目的IntelliJ IDEA 2016.2 配置Tomcat 运行Web项目IntelliJ IDEA配置Tomcat(完整版教程)使用spring mvc配置我自己是参照使用IntelliJ IDEA开发Spring MVC HelloWorld【Spring】IntelliJ IDEA搭建Spring环境使用maven配置spring环...
2017-12-22 16:47:00
99
转载 mysql国内镜像下载网址
mysql国内镜像下载网址http://mirrors.sohu.com/mysql/http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/开源镜像站点汇总http://segmentfault.com/a/1190000000375848http://mirrors.ustc.edu.cn/转载于:https://www.cnbl...
2017-12-20 02:03:00
628
转载 tomcat启动不成功(点击startup.bat闪退)的解决办法
在安装Toamcat时,发现了以下的错误提示17-Dec-2017 00:08:02.397 严重 [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:8005]: java.net.BindException: Address already i...
2017-12-17 01:34:00
210
转载 Encode and Decode TinyURL
Encode and Decode TinyURLTinyURL is a URL shortening service where you enter a URL such as https://leetcode.com/problems/design-tinyurl and it returns a short URL such as http://tinyurl.com/4e9i...
2017-12-03 12:14:00
118
转载 leetcode 4Sum II
454. 4Sum IIGiven four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such that A[i] + B[j] + C[k] + D[l] is zero.To make problem a bit easier, all A, B, C, ...
2017-12-03 11:50:00
71
转载 leetcode two sum
two sumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not ...
2017-12-03 11:49:00
79
转载 java 聊天室WeChat
目录 功能和特性 功能展示 整体架构 Server client 一些值得注意的问题 项目地址We Chat 功能和特性基于socket实现的c/s架构的的通信服务器和客户心跳连接gs...
2017-12-02 18:46:00
221
转载 c++头文件重复引用问题
引子----之前写C++ 时遇到的坑之前由于Java实在太好用了,C++的工程代码几乎没怎么碰,真的写起来的时候总会有些小bug,这里就对其中的一个进行个总结a.h#include "b.h"class a{ public: a(); ~a();}a.cpp#incldue "a.h"a::a(){ ....};a::~a(){ ......
2017-11-26 02:46:00
1439
转载 Android 广播
普通广播(Normal Broadcast):一,优缺点:和有序广播的优缺点相反!二,发送广播的方法:sendBroadcast()有序广播(Ordered Broadcast):一,优缺点优点:1. 按优先级的不同,优先Receiver可对数据进行处理,并传给下一个Receiver通过abortBroadcast可终止广播的传播缺点:效率低二,发送广播的方法:se...
2017-10-17 08:56:00
111
转载 使用 Bundle 在 Activity 之间交换数据
目录 使用 Bundle 在 Activity 之间交换数据 使用 Bundle 在 Activity 之间交换数据场景当一个 Activity 启动另一个 Activity 时,常常会有一些数据需要传过去。因为两个 Activity 之间本来就有一个 Intent,因此我们主要将需要交换的数据放入...
2017-10-17 08:54:00
515
转载 LayoutInflater (转)
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。具体作用:对于一个没有被载入或者想要动态载入的界面,都需要使用L...
2017-10-17 08:53:00
80
转载 Intent详解
一、Intent是什么定义Intent被译作意图,其实还是很能传神的,Intent期望做到的,就是把实现者和调用者完全解耦,调用者专心将以意图描述清晰,发送出去,就可以梦想成真,达到目的。这个解释还是有点不太好理解,下面还有一个:Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Andr...
2017-10-17 08:52:00
191
转载 Service使用详解
Service是Android系统中的四大组件之一,主要有两个应用场景:后台运行和跨进程访问。Service可以在后台执行长时间运行操作而不提供用户界面,除非系统必须回收内存资源,否则系统不会停止或销毁服务。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)需要注意的是,Servi...
2017-10-17 08:50:00
308
转载 Android Context讲解(转)
博客出处前言:本文是我读《Android内核剖析》第7章 后形成的读书笔记 ,在此向欲了解Android框架的书籍推荐此书。大家好, 今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中时刻的在与它打交道,例如:Service、BroadcastReceiver、Activity等都会利用到Context的相关方法 ; 说它陌...
2017-10-17 08:48:00
71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人