贴纸拼词问题 作者:Grey 原文地址: 博客园:贴纸拼词问题 CSDN:贴纸拼词问题 题目描述 有 n 种不同的贴纸。每个贴纸上都有一个小写的英文单词。 要拼写出给定的字符串 target ,方法是从收集的贴纸中切割单个字母并重新排列它们。以多次使用每个贴纸,每个贴纸的数量是无限的。 返回你需要拼
纸牌博弈问题 作者:Grey 原文地址: 博客园:纸牌博弈问题 CSDN:纸牌博弈问题 题目描述 有一个整型数组 A,代表数值不同的纸牌排成一条线。玩家 a 和玩家 b 依次拿走每张纸牌, 规定玩家 a 先拿,玩家 b 后拿, 但是每个玩家每次只能拿走最左或最右的纸牌, 玩家 a 和玩家 b 都绝顶
经典背包系列问题 作者:Grey 原文地址: 博客园:经典背包系列问题 CSDN:经典背包系列问题 问题一 题目描述 在 n 个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为Ai (每个物品只能选择一次且物品大小均为正整数) 题目链接:LintCode 92 · Ba
拼凑硬币问题 作者:Grey 原文地址: 博客园:拼凑硬币问题 CSDN:拼凑硬币问题 问题描述 现有 n1 + n2 种面值的硬币,其中前 n1 种为普通币,可以取任意枚,后 n2 种为纪念币, 每种最多只能取一枚(可能有重复值),每种硬币有一个面值,问能用多少种方法拼出 m 的面值? 题目链接见
最大的观影时间问题 作者:Grey 原文地址: 博客园:最大的观影时间问题 CSDN:最大的观影时间问题 题目描述 一场电影开始和结束时间可以用一个小数组来表示["07:30","12:00"] 已知有 2000 场电影开始和结束都在同一天,这一天从 00:00 开始到 23:59 结束 一定要选
设计模式学习(三):工厂模式 作者:Grey 原文地址: 博客园:设计模式学习(三):工厂模式 CSDN:设计模式学习(三):工厂模式 工厂模式 工厂模式是创建型模式,工厂模式分为:简单工厂,工厂方法和抽象工厂三种类型。 简单工厂 这个模式很简单,比如我们需要制造不同类型的鼠标,我们只需要创建一个鼠
设计模式学习(六):代理模式 作者:Grey 原文地址: 博客园:设计模式学习(六):代理模式 CSDN:设计模式学习(六):代理模式 代理模式 代理模式是结构型模式,分为静态代理和动态代理。 静态代理 举个例子,假设需要在某个类的某段代码的前后加上日志记录,就可以通过静态代理的方式实现,代码如下
设计模式学习(七):适配器模式 作者:Grey 原文地址: 博客园:设计模式学习(七):适配器模式 CSDN:设计模式学习(七):适配器模式 适配器模式 适配器模式是一种结构型模式。 举例说明,假设有一个播放器,需要根据不同格式以及对应的文件来播放,接口设计如下: public interface
设计模式学习(八):桥接模式 作者:Grey 原文地址: 博客园:设计模式学习(八):桥接模式 CSDN:设计模式学习(八):桥接模式 桥接模式 桥接模式是一种结构型模式。它将抽象部分和实现部分分离,使他们可以独立地变化。 使用桥接模式,可以将抽象和具体的发展单独分支(即:抽象中持有一个具体的引用)
设计模式学习(十):门面模式 作者:Grey 原文地址: 博客园:设计模式学习(十):门面模式 CSDN:设计模式学习(十):门面模式 门面模式 门面模式是一种结构型模式。 门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更易用。 假设建造一个房子需要有如下三个步骤: 第一步,和泥 第二
设计模式学习(十一):组合模式 作者:Grey 原文地址: 博客园:设计模式学习(十一):组合模式 CSDN:设计模式学习(十一):组合模式 组合模式 组合模式是一种结构型模式。 组合模式中,最常用的一个用法就是目录层级的遍历,话不多说,直接上代码,主方法中 public class Main {
设计模式学习(十三):观察者模式 作者:Grey 原文地址: 博客园:设计模式学习(十三):观察者模式 CSDN:设计模式学习(十三):观察者模式 观察者模式 观察者模式是一种行为型模式。在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会自动收到通知。 一般可以用做事件处理
设计模式学习(十四):模板方法 作者:Grey 原文地址: 博客园:设计模式学习(十四):模板方法 CSDN:设计模式学习(十四):模板方法 模板方法 模板方法是一种行为型模式。 假设我们要实现一个游戏,这个游戏有「初始化」,「启动」,「结束」三个方法,那么可以定义一个游戏的模板: public a
设计模式学习(十五):策略模式 作者:Grey 原文地址: 博客园:设计模式学习(十五):策略模式 CSDN:设计模式学习(十五):策略模式 策略模式 策略模式是一种行为型模式,它定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换。 以实例来说明 假设我们有一个猫类,这个类里面有体重和身高
设计模式学习(十七):状态模式 作者:Grey 原文地址: 博客园:设计模式学习(十七):状态模式 CSDN:设计模式学习(十七):状态模式 状态模式 状态模式是一种行为型模式。 对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。 举例说明: Person 有 Cry ,
设计模式学习(十九):访问者模式 作者:Grey 原文地址: 博客园:设计模式学习(十九):访问者模式 CSDN:设计模式学习(十九):访问者模式 访问者模式 访问者模式是一种行为型模式。 访问者模式在结构不变的情况下动态改变对于内部元素的动作。 举例说明: 假设我们需要构造一台电脑,有主板( Bo
设计模式学习(二十):备忘录模式 作者:Grey 原文地址: 博客园:设计模式学习(二十):备忘录模式 CSDN:设计模式学习(二十):备忘录模式 备忘录模式 备忘录模式是一种行为型模式。 用于记录对象的某个瞬间,类似快照的功能, 应用实例: 游戏中的「后悔药」; 打游戏时的存档; Windows
设计模式学习(二十一):命令模式 作者:Grey 原文地址: 博客园:设计模式学习(二十一):命令模式 CSDN:设计模式学习(二十一):命令模式 命令模式 命令模式是一种行为型模式。 通过调用者调用接受者执行命令,执行顺序是: 调用者→命令→接受者 ```, 如下示例,CopyCommand 中的
设计模式学习(二十二):解释器模式 作者:Grey 原文地址: 博客园:设计模式学习(二十二):解释器模式 CSDN:设计模式学习(二十二):解释器模式 解释器模式 解释器模式是一种行为型模式。 解释器模式为某个语言定义它的语法(或者叫文法)表示,并定义一个解释器用来处理这个语法。 一般用于脚本语言
设计模式学习(二十三):中介模式 作者:Grey 原文地址: 博客园:设计模式学习(二十三):中介模式 CSDN:设计模式学习(二十三):中介模式 中介模式 中介模式是一种行为型模式。 举个简单的例子,如果一个聊天室里面的用户1和用户2要聊天,聊天室就相当于中介的地位,用户1和用户2只管调用发消息方