摘要:题目: On an infinite number line (x-axis), we drop given squares in the order they are given. The i-th square dropped (positions[i] = (left, side_length 阅读全文
posted @ 2020-05-11 15:01 silentteller 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题目: A Range Module is a module that tracks ranges of numbers. Your task is to design and implement the following interfaces in an efficient manner. ad 阅读全文
posted @ 2020-05-07 14:04 silentteller 阅读(10) 评论(0) 推荐(0) 编辑
摘要:简介 建造者模式使用多个简单的对象创建一个复杂的对象,用于将一个复杂的构建与其表示分离,使得同样的构建过程可以创建不同的表示,然后通过一个builder类创建最终的对象。 注意,建造者模式与工厂模式的最大区别是,建造者模式更关注产品的组合方式和装配顺序,而工厂模式关注产品的生产本身。 建造者模式在设 阅读全文
posted @ 2020-05-06 23:41 silentteller 阅读(12) 评论(0) 推荐(0) 编辑
摘要:简介 单例模式是保证系统实例唯一性的重要手段。单例模式首先通过将类的实例化方法私有化防止程序通过其他方式创建该类的实例,然后通过提供一个全局唯一获取该类实例的方法帮助用户获取该类的实例,用户只需也只能通过调用该方法获取类的实例。 单例模式的常见写法有懒汉式,饿汉式,静态内部类,双重校验锁等。 具体实 阅读全文
posted @ 2020-05-04 21:02 silentteller 阅读(11) 评论(0) 推荐(0) 编辑
摘要:题目: Given a non-empty array of integers, return the k most frequent elements. Example 1: Input: nums = [1,1,1,2,2,3], k = 2 Output: [1,2] Example 2: I 阅读全文
posted @ 2020-04-29 19:32 silentteller 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题目: Given a non-empty list of words, return the k most frequent elements. Your answer should be sorted by frequency from highest to lowest. If two wor 阅读全文
posted @ 2020-04-29 18:55 silentteller 阅读(10) 评论(0) 推荐(0) 编辑
摘要:简介 抽象工厂模式在工厂模式上添加了一个创建不同工厂的抽象接口(抽象类或接口实现),该接口可叫做超级工厂。在使用过程中,我们首先通过抽象接口创建出不同的工厂对象,然后根据不同的工厂对象创建不同的对象。 具体实现 1.抽象工厂定义如下 public abstract class AbstractFac 阅读全文
posted @ 2020-04-29 00:59 silentteller 阅读(10) 评论(0) 推荐(0) 编辑
摘要:简介 归并排序算法是基于归并操作的一种有效排序算法,是采用分治法的典型应用。归并排序算法将待排序序列分为若干个子序列,先对每个子序列进行排序,等每个子序列都有序后,再将有序子序列合并为整体的有序序列,若将两个有序表合并为一个有序表,则称之为二路归并。 原理 归并排序的原理是将原始数组分解为多个子序列 阅读全文
posted @ 2020-04-28 00:18 silentteller 阅读(32) 评论(0) 推荐(0) 编辑
摘要:简介 希尔排序算法是插入排序算法的一种,又叫做缩小增量排序算法,是插入排序算法的一种更高效的改进版本,是非稳定排序。希尔排序算法将数据序列按下标的一定增量进行分组,对每组使用插入排序算法排序,随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 原理 希尔排 阅读全文
posted @ 2020-04-24 02:21 silentteller 阅读(10) 评论(0) 推荐(0) 编辑
摘要:简介 工厂模式是一种常见的设计模式,该模式属于创建型模式,它提供了一种简单,快速,高效而安全地创建对象的方式。工厂模式在接口中定义了创建对象的方法,而将具体的创建对象的过程在子类中实现,用户只需要通过接口创建需要的对象即可,不用关注对象的具体创建过程。同时,不同的子类可根据需求灵活实现创建对象的不同 阅读全文
posted @ 2020-04-24 01:27 silentteller 阅读(24) 评论(0) 推荐(0) 编辑