- 博客(14)
- 收藏
- 关注
原创 LeetCode 525. 连续数组
LeetCode 525. 连续数组1、问题描述给定一个二进制数组, 找到含有相同数量的 0 和 1 的最长连续子数组(的长度)。示例 1:输入: [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:输入: [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。题目的????:2526题目的????:1312、思路与方法这是一个很明显的前缀和问题,做了几个这样的问题后发现,这类问题
2020-12-15 12:26:26
361
原创 Leetcode 1584. 连接所有点的最小费用 Prim算法+Kruskal算法实现
一、问题描述Leetcode 1584. 连接所有点的最小费用题目的????数:303题目的????数:24给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。输入:
2020-12-14 17:11:55
532
原创 LeetCode 212. 单词搜索 II(Word Search II)
LeetCode 212. 单词搜索 II(Word Search II)题目的????:3082在这里插入代码片题目的????:1301、问题描述给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例:输入: words = ["oath","pea","eat","ra
2020-11-04 11:30:12
416
原创 设计模式——模板模式
模板模式1、基本介绍模板方法模式,又叫模板模式,在一个抽象类公开定义了执行它的方法模板,它的子类可以按照需求重写方法,但调用将以抽象类中定义的方式进行模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的接口,就可以重定义该算法的某些步骤。2、代码public abstract class SoyaMilk { //模板方法,make,模板方法为final,不允许子类覆盖 final void make() { sele
2020-11-03 10:35:52
221
原创 LeetCode 5600. 第 K 条最小指令
LeetCode 5600. 第 K 条最小指令1、问题描述Bob 站在单元格 (0, 0) ,想要前往目的地 destination :(row, column) 。他只能向 右 或向 下 走。你可以为 Bob 提供导航 指令 来帮助他到达目的地 destination 。指令 用字符串表示,其中每个字符:'H' ,意味着水平向右移动'V' ,意味着竖直向下移动能够为 Bob 导航到目的地 destination 的指令可以有多种,例如,如果目的地 destination 是 (2, 3)
2020-11-01 23:48:45
207
原创 设计模式——代理模式
代理模式1、基本介绍:为对象提供一个替身——代理对象,通过代理对象来访问目标对象。这样做的好处是,可以在目标对象实现的基础上,增加额外的功能,即扩展目标对象的功能,不需要修改原来的代码。适用场景:远程对象、创建开销大的对象、需要安全控制的对象几种形式:静态代理、动态代理、Cglib代理2、静态代理1)、介绍:静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起来实现相同的接口或者是继承相同父类,然后代理对象再聚合被代理对象。2)、代码//接口public interfac
2020-11-01 22:45:51
95
原创 LeetCode 123 + LeetCode 188 买卖股票的最佳时机
LeetCode 123. 买卖股票的最佳时机 III题目的????:2823题目的????:781、问题描述给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所
2020-10-30 23:33:46
746
原创 LeetCode 135 分发糖果(Candy)
LeetCode 135 分发糖果(Candy)135. 分发糖果题目的????:1149题目的????:1731、题目描述老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2
2020-10-29 20:26:23
1043
3
原创 设计模式——工厂模式
工厂模式1、相关概念产品:类抽象产品:抽象类、接口产品簇:多个有内在联系的产品产品登记2、简单工厂模式1)一个反例:违反了面向接口编程interface Food { void eat();}class Hamburger implements Food { //当服务器的类名改变时,那么客户端代码也要随之改变,耦合度非常高 @Override public void eat() { System.out.println("吃汉堡!");
2020-10-29 10:09:53
261
1
原创 设计模式之:单例模式
单例模式一、介绍所谓类的单例模式,就是采取一定的方法保证在整个软件系统中,对某个类智能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。二、单例模式的八种方式1、饿汉式(静态常量)**1)优点:写法简单,在类装载的时候完成了实例化,避免了线程同步问题 **2)缺点:如果从始至终不用这个实例,则会造成内存的浪费3)代码class Singleton { //1、构造器私有化,外部不能new private Singleton() { } //2、
2020-10-27 21:23:44
207
1
原创 LeetCode 227 + Leetcode 224 基本计算器 Basic Calculator
LeetCode 227 基本计算器 II (Basic Calculator II)题目的????数:1704题目的????数:2921、题目描述实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: "3+2*2"输出: 7示例 2:输入: " 3/2 "输出: 1示例 3:输入: " 3+5 / 2 "输出: 52、思路与方法这种计算器问题大多数都
2020-10-24 20:31:31
253
1
原创 设计模式七大原则
设计模式七大原则单一职责原则接口隔离原则依赖倒转原则里氏替换原则开闭原则迪米特法则合成复用原则一、单一职责原则基本介绍:每一个类应该只负责一项职责。实例:一个类A负责两个不同的职责,D1和D2,当D1的需求变更而导致类A的改变时,就可能导致D2出错,因此需要将A分为A1+A2。二、接口隔离原则基本介绍一个类不应该依赖他不需要的依赖。实例:例如一个接口中有多个方法,而某个类只需要实现其中的某些方法,那么这个接口应该拆分为几个独立的接口。三、依赖
2020-10-24 17:23:55
147
原创 Leetcode 44: 通配符匹配 (Wildcard Matching)
leetcode 44 通配符匹配题目链接????:2041????:1171. 问题描述:给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。示例 1:输入:s = "aa"p = "a"输出: f
2020-10-23 23:11:06
225
原创 LeetCode 632:Smallest Range Covering Elements from K Lists(最小区间)
LeetCode 632:Smallest Range Covering Elements from K Lists(最小区间)**地址1. 问题描述:你有 k 个 非递减排列 的整数列表。找到一个 最小 区间,使得 k 个列表中的每个列表至少有一个数包含在其中。我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < c,则区间 [a,b] 比 [c,d] 小。输入:nums = [[4,10,15,24,26], [0,9,12,20], [5,18,22,30
2020-10-22 17:32:39
246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人