> Yuyy - 第 2 页
Yuyy
Yuyy

保持一颗探索的心

LeetCode560. 和为K的子数组

思路 首先想到的是暴力求解,双重循环得出所有连续子串,但是多半要超时。没想到其他办法。看了题解,学到了前缀和的概念,这里的子串和等于end的前缀和减去start的前缀和。在前缀和的基础上,结合了hash来优化,也就是两数之和那道题。 两个地方需要注意。一、需要…

   18   2021-09-02   去看看

五、装饰器模式

装饰器模式 定义 通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 实现方式 IA 需要增强的功能,对应的接口 public interface IA { void func(); } A 待增强的类 public class A implements IA { @Override public void func()…

   38   2021-08-30   去看看

四、观察者模式

观察者模式 定义 在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会自动收到通知。 实现方式 可分为阻塞、非阻塞,根据业务场景决定使用哪种。 基础版本 IObserver 观察者接口 public interface IObserver { // 模板模式 …

   23   2021-08-27   去看看

三、责任链模式

责任链模式 定义 在职责链模式中,多个处理器依次处理同一个请求。一个请求先经过 A 处理器处理,然后再把请求传递给 B 处理器,B 处理器处理完后再传递给 C 处理器,以此类推,形成一个链条。链条上的每个处理器各自承担各自的处理职责,所以叫作职责链模式。 在 G…

   27   2021-08-18   去看看

二、适配器模式

适配器模式 定义 适配器模式的英文翻译是 Adapter Design Pattern。顾名思义,这个模式就是用来做适配的,它将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。 一般来说,适配器模式可以看作一种“补偿模式”,用来补救设计上…

   28   2021-08-18   去看看

一、单例模式

解决的问题 有些数据在系统中只应该保存一份,比如系统的配置信息类 资源访问冲突的问题,比如多个logger写入同一个日志文件 几种实现方式 饿汉式 静态成员变量,类加载时实例化 线程安全 不支持延迟加载 public class HungryManDemo { private static…

   49   2021-08-12   去看看

JMH基准测试

前言 我们写的代码性能如何?用StopWatch来监控方法得出方法执行时间就是准确的? 使用JMH就可以回答第一个问题。JMH是方法级别的性能测试工具,并且是openjdk官方开发的(值得信赖),它有很多针对性能测试的功能,例如预热,该功能就可以解决StopWatch测试不准确的…

   67   2021-07-05   去看看

《代码整洁之道》笔记(10-12章节)

类 类的组织 标准的Java约定,类结构定义如下: 公共静态变量 私有静态变量 私有实体变量 公共函数 私有函数 类应该短小 不应有太多全责。 单一权责原则 Single Responsiblility:类或模块应该有且只有一条加以修改的理由。 职责越清晰,被复用的可能性就越…

   101   2021-06-05   去看看

《代码整洁之道》笔记(7-9章节)

错误处理 使用异常而非返回码 多个条件分支记录错误信息,可以封装进一个方法,在记录异常信息的地方抛出异常,并给出相应信息。在该方法外部捕获,记录异常信息。异常处理和正常业务流程隔离。 缩小异常类型,反例:全部使用Excception。 使用未检异常 代价:违…

   86   2021-06-05   去看看

《代码整洁之道》笔记(4-6章节)

注释 什么也不会比陈旧,提供错误信息的注释更有破坏性。 若编程语言有足够的表达力,就根本不需要注释。 注释的恰当用法时弥补我们在用代码表达意图时遭遇的失败。 如果你发现自己需要写注释,就再想想看是否有方法翻盘。 个人认为注释还是要写,算…

   130   2021-06-05   去看看
加载更多
友情链接
标签
归档
近期文章