AcKei
AcKei
全部文章
分类
设计模式(10)
题解(20)
归档
标签
去牛客网
登录
/
注册
AcKei的博客
彼此奔赴,更高处见
TA的专栏
23篇文章
0人订阅
剑指Offer题解
12篇文章
645人学习
字节算法题解
11篇文章
937人学习
全部文章
(共30篇)
双指针解决链表公共节点
假设链表一走到相同节点的距离为a,链表二为b,从相同节点到末尾的距离为c;我们可以让两个链表走相同的路,若走到相同节点,就返回。算法核心: a+b+c = b+c+c就算它们走完都没有相同节点,也不碍事,返回的都是null也是相等的。 public ListNode FindFirstCom...
2020-12-07
0
594
动态规划解决最大累加和问题
使用动态规划法,定义一个dp数组记录从第一个数字开始到当前数字的最大累加和。每当前一个累加和大于0时,进行dp[i]的更新。最后遍历dp数组,取最大的dp[i]返回。过程可以看注释: public int maxsumofSubarray (int[] arr) { // w...
2020-12-07
2
698
单例模式
单例模式详解 饿汉式 /** * 饿汉模式(静态变量) */ public class HungryMan { //构造器私有化 (防止 new ) private HungryMan(){} //类的内部创建对象 private final static Hu...
2020-12-07
0
575
装饰者模式
装饰者模式 假设现在有一块蛋糕,加上奶油就是奶油蛋糕,再加上巧克力就是巧克力奶油蛋糕,再要是加上水果,就是巧克力水果奶油蛋糕,当然我们也可以做水果奶油蛋糕。这就是装饰的过程。 几大roles Componet (被装饰者接口/抽象类) 就是蛋糕的API ConcreteComponent (...
2020-12-05
0
486
代理模式
代理模式 顾名思义,代理模式提供了一个“代理人”对象,当“本人”太忙时,有些工作可以交给代理人。好比如一个手机工厂,一开始它负责生产手机和卖手机,后来为了把人力充分利用到生产手机上,找了代理商来向客户卖手机。 几大roles Subject (目标接口/抽象类) RealSubject (...
2020-12-05
0
513
观察者模式
观察者模式 在该模式中,当观察对象的状态发生变化时,会通知给观察者,观察者再对变化的状态进行处理。类似你叫了一个外卖,你的订单是被观察对象,而提供给用户看的第三方(美团、饿了么)就是观察者。 该模式中几大roles Subject (被观察对象) 订单这个家伙定义了注册观察者和删除观察者的方...
2020-12-02
0
579
责任链模式
责任链模式 为请求创建了一个接收者对象的链,可以对请求的发送者和接收者进行解耦。该模式中通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,以此类推。属于行为型模式。 UML图: 举个栗子:学校OA系统的采购审批项目:需求是 1) 采购员采购...
2020-11-27
0
545
原型模式
原型模式 是指用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。 原型UML: 举个栗子:我们需要克隆羊,这里先不写接口或者抽象类,直接写具体类代表羊。 传统的克隆羊方式 会用 new Ship()方法。但在创建新对象时,总是需要重新获取原始对象的属性,如果创建得对象比较复杂...
2020-11-25
0
508
建造者模式
建造者模式 又叫生成器模式,它可以将复杂对象的建造过程抽象出来,然后把这个抽象过程个性化的任务交给子类。用户只需要指定个性化类型即可,不需要内部的具体构建细节。 它有四个roles :(1)Client (用户)(2)Builder (抽象建造者)(3)ConcreteBuilder (具体建造...
2020-11-25
0
571
详解工厂模式
工厂模式有三种模式: 简单工厂模式 能够扩展同一级别的任意产品。 工厂方法模式 不修改已有类的前提下,通过增加新的工厂类来实现扩展。 抽象工厂模式 不可以增加产品,可以增加产品族。 简单工厂 (静态工厂模式) 比方说:我们现在有个需求,实现几种口味的蛋糕并且实现对这些蛋糕的订购功能。 ...
2020-11-24
0
690
首页
上一页
1
2
3
下一页
末页