自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式——工厂模式

(1)简单工厂模式基本介绍1) 简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一 个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族 中最简单实用的模式2) 简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行 为(代码)3) 在软件开发中,当我们会用到大量的创建某种、某类或者某批对象时,就会 使用到工厂模式.public int...

2020-04-10 10:00:45 245

原创 设计模式——单例模式

单例模式:所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类 只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。单例有八种方式这里我只写出7种,有一种懒汉式的同步方法是线程不安全的就不进行写入了。单例模式有八种方式:1) 饿汉式(静态常量)2) 饿汉式(静态代码块)3) 懒汉式(线程不安全)4) 懒汉式(线程不安全,同步方法)...

2020-04-09 10:23:33 247

原创 设计模式——七大原则

单一职责原则 对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。 当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为 A1,A2。 接口隔离原则 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖 应该建立在最小的接口上,使用多个隔离的接口,比使用单个接口要好。它还有另外一个意思是:降低类之间的耦合度。由此可见,其实...

2020-04-09 09:55:47 271

原创 LeetCode-面试题 17.04. 消失的数字

/** 面试题 17.04. 消失的数字* @author 作者 Your-Name:* @version 创建时间:2020年3月5日 下午8:43:50*数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?注意:本题相对书上原题稍作改动示例 1:输入:[3,0,1]输出:2示例 2:输入:...

2020-03-22 09:59:41 508

原创 LeetCode-27. 移除元素

/**27. 移除元素* @author 作者 Your-Name:* @version 创建时间:2020年3月7日 下午5:21:18* 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出...

2020-03-22 09:59:34 160

原创 LeetCode-1365. 有多少小于当前数字的数字

/** 1365. 有多少小于当前数字的数字* @author 作者 Your-Name:* @version 创建时间:2020年3月5日 下午9:22:17* 给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] &lt...

2020-03-22 09:59:26 385

原创 LeetCode-面试题 17.10. 主要元素

/** 面试题 17.10. 主要元素* @author 作者 Your-Name:* @version 创建时间:2020年3月5日 下午8:33:46* 如果数组中多一半的数都是同一个,则称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。示例 1:输入:[1,2,5,9,5,9,5,5,5]输出:5示例 2:输入:[3,2]输出:-1...

2020-03-22 09:59:19 253

原创 LeetCode-53. 最大子序和

/**53. 最大子序和* @author 作者 Your-Name:* @version 创建时间:2020年3月7日 下午7:54:52* 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6...

2020-03-22 09:59:10 128

原创 LeetCode-1200. 最小绝对差

/** 1200. 最小绝对差* @author 作者 Your-Name:* @version 创建时间:2020年3月6日 上午11:28:07* 给你个整数数组 arr,其中每个元素都 不相同。请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。示例 1:输入:arr = [4,2,1,3]输出:[[1,2],[2,3],[3,4]]示例 2:输...

2020-03-22 09:58:54 196

原创 LeetCode-1351. 统计有序矩阵中的负数

/** 1351. 统计有序矩阵中的负数* @author 作者 Your-Name:* @version 创建时间:2020年3月5日 下午9:33:37* 给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。请你统计并返回 grid 中 负数 的数目。示例 1:输入:grid = [[4,3,2,-1],[3,2,1,-1]...

2020-03-21 22:55:13 147

原创 LeetCode-1295. 统计位数为偶数的数字

/** 1295. 统计位数为偶数的数字* @author 作者 Your-Name:* @version 创建时间:2020年3月5日 下午9:54:33* 给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。示例 1:输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数)345 是 3 位数字(位...

2020-03-21 22:54:38 218

原创 LeetCode-35. 搜索插入位置

/** 35. 搜索插入位置* @author 作者 Your-Name:* @version 创建时间:2020年3月7日 下午5:26:10* 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: ...

2020-03-21 22:54:00 96

原创 LeetCode-26. 删除排序数组中的重复项

/** 26. 删除排序数组中的重复项* @author 作者 Your-Name:* @version 创建时间:2020年3月7日 下午4:54:53* 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定...

2020-03-21 22:53:25 197

原创 LeetCode-面试题 16.17. 连续数列

/** 面试题 16.17. 连续数列* @author 作者 Your-Name:* @version 创建时间:2020年3月5日 下午8:57:24* 给定一个整数数组(有正数有负数),找出总和最大的连续数列,并返回总和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。public...

2020-03-21 22:52:47 400

原创 LeetCode-1313. 解压缩编码列表

/** 1313. 解压缩编码列表* @author 作者 Your-Name:* @version 创建时间:2020年3月6日 下午3:19:51* 给你一个以行程长度编码压缩的整数列表 nums 。考虑每对相邻的两个元素 [a, b] = [nums[2*i], nums[2*i+1]] (其中 i >= 0 ),每一对都表示解压后有 a 个值为 b 的元素。请你返...

2020-03-21 22:51:54 135

原创 LeetCode-1304. 和为零的N个唯一整数

/** 1304. 和为零的N个唯一整数* @author 作者 Your-Name:* @version 创建时间:2020年3月6日 上午11:08:01* 给你一个整数 n,请你返回 任意 一个由 n 个 各不相同 的整数组成的数组,并且这 n 个数相加和为 0 。示例 1:输入:n = 5输出:[-7,-1,1,3,4]解释:这些数组也是正确的 [-5,-1,...

2020-03-21 22:51:01 134

原创 LeetCode-1184. 公交站间的距离

/** 1184. 公交站间的距离* @author 作者 Your-Name:* @version 创建时间:2020年3月6日 下午2:32:54* 环形公交路线上有 n 个站,按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离,distance[i] 表示编号为 i 的车站和编号为 (i + 1) % n 的车站之间的距离。环线上的公交车都可以按顺时针...

2020-03-21 22:50:25 172

原创 LeetCode- 1051. 高度检查器

/** 1051. 高度检查器* @author 作者 Your-Name:* @version 创建时间:2020年3月7日 下午4:31:11* 学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。示...

2020-03-21 22:49:41 152

原创 LeetCode-1170. 比较字符串最小字母出现频次

/** 1170. 比较字符串最小字母出现频次* @author 作者 Your-Name:* @version 创建时间:2020年3月7日 下午4:13:21* 我们来定义一个函数 f(s),其中传入参数 s 是一个非空字符串;该函数的功能是统计 s 中(按字典序比较)最小字母的出现频次。例如,若 s = "dcce",那么 f(s) = 2,因为最小的字母是 "c",它出现...

2020-03-21 22:48:54 209

原创 java类加载的全过程

类加载机制:JVM把class文件加载到内存,并对数据进行校验、解析、和初始化,最终形成JVM可以直接使用的Java类型的过程。加载:把class文件字节码内容加载到内存中,并将这些静态数据转换成方法区中的数据结构,在堆中生成一个代表这个类的java.lang.Class对象,作为这个方法区的访问入口。链接:将二进制代码合并到JVM的运行状态之中的过程。 —验证:确保加...

2020-03-09 09:41:42 267

原创 LeetCode-112. 路径总和-深度优先搜索

/** 112. 路径总和* @author 作者 Your-Name:* @version 创建时间:2020年2月29日 下午3:19:05* 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5...

2020-03-08 19:59:46 126

原创 java反射机制

反射机制的实现过程:java语言编译后会产生一个.class文件,反射就是通过一个字节码文件找到某一个类、类中的方法以及属性。反射的实现类:Class:类的对象Constructor:类的构造方法Field:类中的属性对象Method:类中的方法对象作用:反射机制指的是程序在运行的时候能够获得自身的信息。在Java中,只要给定类的名字,那么就可以通过反射机制来获取类的所有信...

2020-03-08 18:15:39 108

原创 java——为什么重写hashCode还需要重写equals

hashCode与equals方法的作用其实一样,在java里面我们都是用它们来比较两个对象是否一致。那为和我们还需要使用hashCode?这里其实使用hashCode是为了提高效率,采取重写hashcode方法,先进行hashcode比较,如果不同,那么就没必要在进行equals的比较了,这样就大大减少了equals比较的次数,这对比需要比较的数量很大的效率提高是很明显的。hashCode和...

2020-03-08 13:08:41 598

原创 java包装类-自动装箱,拆箱机制

八大基本类型和八大包装类。我们都知道java是一个面向对象的语言,但它的八大基本类型却不是面向对象的。基本数据类型 对应包装类型 int Integer short Short float Float double Double char Character long Long byte Byte boolea...

2020-03-08 11:29:34 222

原创 Java访问权限修饰词

四种访问权限修饰词java有四种访问权限的修饰词,这四种访问修饰词由大到小分别为:public,protected,defalut,private。如果我们为默认的话那就为defalut。 访问权限 含义 本类 本包的类 非本包的子类 非本包的非子类 public 公共的 是 是 是 ...

2020-03-08 10:46:21 343

原创 LeetCode-113. 路径总和 II-深度优先搜索

/**113. 路径总和 II* @author 作者 Your-Name:* @version 创建时间:2020年3月4日 下午5:08:42*给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5...

2020-03-06 11:06:25 130

原创 LeetCode- 面试题 04.04. 检查平衡性 / 110.平衡二叉树-深度优先搜索

/** 面试题 04.04. 检查平衡性 / 110.平衡二叉树* @author 作者 Your-Name:* @version 创建时间:2020年3月1日 上午10:17:58* 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3...

2020-03-06 11:06:17 193

原创 LeetCode-129. 求根到叶子节点数字之和-深度优先搜索

/** 129. 求根到叶子节点数字之和* @author 作者 Your-Name:* @version 创建时间:2020年3月3日 下午4:34:48* 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶...

2020-03-06 11:06:09 139

原创 LeetCode-面试题 16.19. 水域大小-深度优先搜索

/** 面试题 16.19. 水域大小* @author 作者 Your-Name:* @version 创建时间:2020年3月3日 上午10:27:57* 你有一个用于表示一片土地的整数矩阵land,该矩阵中每个点的值代表对应地点的海拔高度。若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。池塘的大小是指相连接的水域的个数。编写一个方法来计算矩阵中所有池塘的大小,返回值需要从...

2020-03-06 11:06:02 7149

原创 LeetCode-1254. 统计封闭岛屿的数目-深度优先搜索

/** 1254. 统计封闭岛屿的数目* @author 作者 Your-Name:* @version 创建时间:2020年3月1日 下午3:14:50* 有一个二维矩阵 grid ,每个位置要么是陆地(记号为 0 )要么是水域(记号为 1 )。我们从一块陆地出发,每次可以往上下左右 4 个方向相邻区域走,能走到的所有陆地区域,我们将其称为一座「岛屿」。如果一座岛屿 完全 由...

2020-03-06 11:05:51 285

原创 LeetCode- 100. 相同的树-深度优先搜索

/** 100. 相同的树* @author 作者 Your-Name:* @version 创建时间:2020年2月29日 下午3:06:27* 给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \...

2020-03-06 11:05:43 118

原创 LeetCode 面试题 08.10. 颜色填充-深度优先搜索

/** 面试题 08.10. 颜色填充* @author 作者 Your-Name:* @version 创建时间:2020年3月1日 上午11:19:09*颜色填充。编写函数,实现许多图片编辑软件都支持的“颜色填充”功能。给定一个屏幕(以二维数组表示,元素为颜色值)、一个点和一个新的颜色值,将新颜色值填入这个点的周围区域,直到原来的颜色值全都改变。示例1:输入:image...

2020-03-06 11:05:35 482

原创 LeetCode-513. 找树左下角的值-深度优先搜索

/** 513. 找树左下角的值* @author 作者 Your-Name:* @version 创建时间:2020年3月2日 下午8:58:42* 给定一个二叉树,在树的最后一行找到最左边的值。示例 1:输入: 2 / \ 1 3输出:1示例 2:输入: 1 / \ 2 3...

2020-03-06 11:05:21 105

原创 LeetCode-1315. 祖父节点值为偶数的节点和-深度优先搜索

/** 1315. 祖父节点值为偶数的节点和* @author 作者 Your-Name:* @version 创建时间:2020年3月3日 上午9:58:32* 给你一棵二叉树,请你返回满足以下条件的所有节点的值之和: 该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。)如果不存在祖父节点值为偶数的节点,那么返回 0 。示例:输入...

2020-03-06 11:05:11 164

原创 LeetCode-面试题 04.02. 最小高度树-深度优先搜索

/** 面试题 04.02. 最小高度树* @author 作者 Your-Name:* @version 创建时间:2020年2月29日 下午9:33:33* 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面...

2020-03-06 11:04:59 330

原创 LeetCode-1026. 节点与其祖先之间的最大差值-深度优先搜索

/** 1026. 节点与其祖先之间的最大差值* @author 作者 Your-Name:* @version 创建时间:2020年3月5日 上午9:44:01* 给定二叉树的根节点 root,找出存在于不同节点 A 和 B 之间的最大值 V,其中 V = |A.val - B.val|,且 A 是 B 的祖先。(如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的...

2020-03-05 10:44:48 196

原创 LeetCode-114. 二叉树展开为链表-深度优先搜索

/** 114. 二叉树展开为链表* @author 作者 Your-Name:* @version 创建时间:2020年3月1日 下午3:43:48* 给定一个二叉树,原地将它展开为链表。例如,给定二叉树 1 / \ 2 5/ \ \3 4 6将其展开为:1\ 2 \ 3 \ 4...

2020-03-05 10:44:00 137

原创 LeetCode-199. 二叉树的右视图-深度优先搜索

/** 199. 二叉树的右视图* @author 作者 Your-Name:* @version 创建时间:2020年3月2日 上午9:21:34* 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <-...

2020-03-05 10:43:20 203

原创 LeetCode-257. 二叉树的所有路径-深度优先搜索

/** 257. 二叉树的所有路径* @author 作者 Your-Name:* @version 创建时间:2020年2月29日 下午8:24:23* 给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入: 1/ \2 3\ 5输出: ["1->2->5", "1->3...

2020-03-05 10:42:41 185

原创 LeetCode-面试题55 - I. 二叉树的深度-深度优先搜索

/** 面试题55 - I. 二叉树的深度* @author 作者 Your-Name:* @version 创建时间:2020年2月29日 下午9:06:48* 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7], 3 ...

2020-03-05 10:42:03 402

链表----链表构造

链表构造

2019-01-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除