摘要: 建造者模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 阅读全文
posted @ 2021-10-29 14:11 渴望成为大佬的菜鸡 阅读(19) 评论(0) 推荐(0)
摘要: 模板方法模式 要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理。 模板方法模式 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法是通过 阅读全文
posted @ 2021-10-29 14:07 渴望成为大佬的菜鸡 阅读(33) 评论(0) 推荐(0)
摘要: 迪米特法则 如果两个类不必彼此通信,那么这两个类就不应当发生直接的相互作用,如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个应用。 阅读全文
posted @ 2021-10-29 14:07 渴望成为大佬的菜鸡 阅读(32) 评论(0) 推荐(0)
摘要: 外观模式 为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 阅读全文
posted @ 2021-10-29 14:07 渴望成为大佬的菜鸡 阅读(24) 评论(0) 推荐(0)
摘要: 剑指 Offer 10- I. 斐波那契数列 递归 时间复杂度指数级,很多值重复计算 动态规划 每一项只计算一次,时间复杂度O(n) class Solution { public: int fib(int n) { int MOD=1000000007; if(n<2) { return n; } 阅读全文
posted @ 2021-10-28 10:20 渴望成为大佬的菜鸡 阅读(26) 评论(0) 推荐(0)
摘要: 原型模式 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 其中复制包括浅复制和深复制 阅读全文
posted @ 2021-10-27 12:08 渴望成为大佬的菜鸡 阅读(14) 评论(0) 推荐(0)
摘要: Erasure Coding in Windows Azure Storage 0. Abstract Windows Azure Storage (WAS)使用纠删码,引入了LRC的概念,减少修复所需要的块数,从而减小带宽和I/O 1. Introduction (WAS)的一个简介 stream 阅读全文
posted @ 2021-10-27 11:06 渴望成为大佬的菜鸡 阅读(373) 评论(0) 推荐(0)
摘要: 492. 构造矩形 先开平方,然后依次判断是否可以整除即可 class Solution {public: vector<int> constructRectangle(int area) { int w = sqrt(1.0 * area); while(area%w) { --w; } retu 阅读全文
posted @ 2021-10-23 12:10 渴望成为大佬的菜鸡 阅读(35) 评论(0) 推荐(0)
摘要: 剑指 Offer 06. 从尾到头打印链表 很明显后进先出,利用栈的结构辅助。 class Solution { public: vector<int> reversePrint(ListNode* head) { stack<int> tmp; vector<int> ans; ListNode* 阅读全文
posted @ 2021-10-22 13:38 渴望成为大佬的菜鸡 阅读(15) 评论(0) 推荐(0)
摘要: 工厂方法模式 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。但是每次修改都要修改工厂类。违背了开放封闭原则。 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其 阅读全文
posted @ 2021-10-21 10:04 渴望成为大佬的菜鸡 阅读(26) 评论(0) 推荐(0)