自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Slling's Hello World

下午可以不下雨吗

  • 博客(39)
  • 资源 (3)
  • 论坛 (1)
  • 收藏
  • 关注

原创 服务器后台运行jar包

服务器后台运行jar包启动结束直接用java -jar xxx.jar这样的话一断开连接,这个jar也不会运行了。启动我们只要使用nohup java -jar xxx.jar &在后台运行jar包。输入了nohup java -jar xxx.jar & 然后再输入exit断开连接,这样就可以在后台运行了。结束要结束的话就用ps -ef|grep xxx.jar找到进程号,再用kill -9 进程号来杀掉这个进程就好了。...

2020-12-29 23:26:00 27

原创 阿里云部署项目,通过一、二级域名访问

阿里云部署项目,通过一、二级域名访问项目部署通过域名访问通过二级域名访问今天闲来无事想部署一下以前写过的一些demo。记录一下如何用域名访问到项目,再通过二级域名访问到项目。项目部署以springboot项目为例,打成jar包放到服务器上,然后java -jar就可以运行了通过域名访问①来到域名解析设置页面②③然后进入到你的Nginx配置文件(nginx.conf),一般在/usr/local/nginx/con下。④然后保存,记得刷新一下nginx的配置。在sbin目录下执行./

2020-12-29 23:10:29 36

原创 CentOS7.3安装MySQL

CentOS7.3安装MySQL# 查看系统中是否已安装 MySQL 服务:rpm -qa | grep mysql或yum list installed | grep mysql# 如果已安装则删除 MySQL 及其依赖的包:yum -y remove mysql-libs.x86_64# 下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源:wget http://repo.mysql.com/mysql57-community-

2020-12-28 19:59:12 27 1

原创 572. 另一个树的子树(递归)

572. 另一个树的子树题目解题思路代码题目给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。解题思路PS:这题没太抓住细节,日后再看一下官方题解该题还是遵循“找到一个节点该做的事情,剩下的交给递归框架”。归很重要的一点就是找到最简单的子问题。我们可以设想一下,一棵树s就三个节点,root、left、right。我们要做的就是找到首先以root为根节点的子树,看他是否

2020-12-24 00:29:26 20

原创 437. 路径总和 III(递归)

437. 路径总和 III题目解题思路代码题目给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。解题思路这题采用双递归的方式,但是依旧是按照递归的模板来(1.找到最简单的子问题求解,2.其他问题不考虑内在细节,只考虑整体逻辑)。题目要求 路径不需要从根节点开始,也不需要在

2020-12-23 23:35:54 10

原创 112. 路径总和(递归)

112. 路径总和题目解题思路代码题目给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。解题思路解题思路:这题使用递归解决。题目问的是有没有一条根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 我们可以反向理解,从根节点加到叶子节点的值等于sum,就是满足条件的。那么我们既然有sum的值,我们就可以从根节点出发,每经过一个节点就用sum减去那个节点的值,直到叶子节点。这个时候再判断sum是

2020-12-23 23:07:19 15

原创 617. 合并二叉树(递归)

617. 合并二叉树题目解题思路代码题目给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。注意: 合并必须从两个树的根节点开始。解题思路创建一颗新树来存放这两棵树叠加后的结果。主要考虑4种情况下的新树节点的值。求出一个节点的值后再用递归框架分别求出这个节点的左子树和右子树的值代码class Solut

2020-12-21 00:29:34 22

原创 226. 翻转二叉树(递归)

226. 翻转二叉树题目解题思路代码题目解题思路非常简单的题目。用一个中间变量保存一下root.left就行。相当于交换两个数。代码class Solution { public TreeNode invertTree(TreeNode root) { if(root==null){ return null; } TreeNode oldleft=root.left; root.le

2020-12-21 00:12:31 47

原创 543. 二叉树的直径(递归)

543. 二叉树的直径题目解题思路代码题目给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。解题思路这题还是在 求子树最大深度的基础上改造。求出来每个节点的左子树最大深度 和右子树最大深度后,把这两个深度加起来 就是“两个结点路径长度中的最大值”。这样再定义一个成员变量max来保存最大的那个路径长度。在每一次把每一个节点的左右子树的两个最大深度加起来后都把max和这个最大深度和进行比较,取大的值作为max。让max

2020-12-19 00:18:43 18 1

原创 110. 平衡二叉树(递归)

110. 平衡二叉树题目解题思路代码题目给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。解题思路定义一个成员变量res,自顶向下遍历,在每次求出树的最大深度的过程中,要求左子树的最大深度和右子树的最大深度,每求出一个节点的左子树的最大深度和右子树的最大深度就把它们做个差。小于1满足条件不改变res。否则把res置为false,证明深度差超过了1.最后返回res就行代码class Solutio

2020-12-17 23:36:45 16

原创 104. 二叉树的最大深度(递归)

104. 二叉树的最大深度题目解题思路代码题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。解题思路很简单的递归,找到左子树和右子树的深度,取最大的,然后加上根节点的那个深度就是答案代码class Solution { public int maxDepth(TreeNode root) { if(root==null){ return 0; }

2020-12-17 23:08:22 11

原创 501. 二叉搜索树中的众数(BST)

501. 二叉搜索树中的众数题目解题思路代码题目给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。假定 BST 有如下定义:结点左子树中所含结点的值小于等于当前结点的值结点右子树中所含结点的值大于等于当前结点的值左子树和右子树都是二叉搜索树提示: 如果众数超过1个,不需考虑输出顺序进阶: 你可以不使用额外的空间吗?(假设由递归产生的隐式调用栈的开销不被计算在内)解题思路这题第一反应是直接遍历这个树,把元素出现的次数存入到一个HashMap中。但是

2020-12-17 13:33:13 15

原创 530. 二叉搜索树的最小绝对差(BST)

530. 二叉搜索树的最小绝对差题目解题思路代码题目给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。提示:树中至少有 2 个节点。本题与 783相同解题思路解法一:该题第一种解法。是我自己想出来的垃圾解法, 就把所有的节点的值放入list,再遍历list,进行相减。定义一个min,每次相减的结果与min进行比较。不断更新min。解法二:因为是二叉搜索树,所以我们用中序遍历,这样二叉树的节点值是从小到达排列的。我们只需要在每次进行中序遍历时,把当

2020-12-16 11:18:14 10

原创 阿里云部署tomcat的错误

阿里云部署tomcat的错误1、用./startup.sh启动,显示启动成功。看日志也启动成功了,但是怎么也从win10访问不到。阿里云策略组改了,防火墙也关了。2、一运行shutdowon.sh就会报connection refused。搞到了大半夜 ,终于在第二天早上发现了解决方案。原因 jdk的伪随机数设置导致解决方法1、找到jdk的安装目录下的 jre/lib/security/java.security 文件2、修改java.security3、找到securerandom.sou

2020-12-16 10:26:11 27

原创 653. 两数之和 IV - 输入 BST(BST)

653. 两数之和 IV - 输入 BST题目解题思路代码题目给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。解题思路遍历二叉树,把它的所有节点加入到一个list中。再遍历整个list,把两两元素相加的和与k作比较。相等返回true,否则返回false;代码class Solution { public boolean findTarget(TreeNode root, int k) { List<In

2020-12-15 22:57:15 11

原创 109. 有序链表转换二叉搜索树(BST)

109. 有序链表转换二叉搜索树题目解题思路代码题目给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。解题思路本题和 108 一样,只要将通过数组索引定位中心元素改成快慢指针法找中心元素即可代码class Solution { public TreeNode sortedListToBST(ListNode head) { ListNode p = head,

2020-12-15 13:54:22 17

原创 108. 将有序数组转换为二叉搜索树(BST)

108. 将有序数组转换为二叉搜索树题目解题思路代码题目将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。解题思路这题不是普通的反序列化二叉树,而是要求你生成一颗二叉搜索树。抓住二叉搜索树这一点,我们可以直接取数组中间的值作为根节点(数组是有序的),来构成一棵树—“一个节点该做的事”。然后剩下的交给递归框架代码class Solution { public TreeNode sor

2020-12-15 00:07:43 26

原创 Java中Queue的一些方法解析

队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。offer,add 区别:一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。poll,remove 区别:remove() 和 p

2020-12-14 23:16:23 23

原创 236. 二叉树的最近公共祖先(BST)

236. 二叉树的最近公共祖先题目解题思路代码题目给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”说明:所有节点的值都是唯一的。p、q 为不同节点且均存在于给定的二叉树中。解题思路这题和235很相似,几乎可以说一摸一样,所以解题思路和235相同代码class Solution {

2020-12-12 22:12:45 18

原创 235. 二叉搜索树的最近公共祖先(BST)

235. 二叉搜索树的最近公共祖先题目解题思路代码题目给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]说明:所有节点的值都是唯一的。p、q 为不同节点且均存在于给定的二叉搜索树中。解题思

2020-12-12 22:02:41 14

原创 538. 把二叉搜索树转换为累加树(BST)

538. 把二叉搜索树转换为累加树题目解题思路代码题目给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节点键的节点。左右子树也必须是二叉搜索树。注意:本题和 1038 相同提示:树中的节点数介于 0 和 10⁴之间。每个节点的值介于 -1

2020-12-12 00:17:01 16

原创 230. 二叉搜索树中第K小的元素(BST)

230. 二叉搜索树中第K小的元素题目解题思路代码题目给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。进阶:如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第 k 小的值,你将如何优化 kthSmallest 函数?解题思路、这题可以考虑到用中序遍历,把中序遍历的结果依次存放在 list中,这样第1小的就是存放在list中的下标为0的位置,所以求第k小的,只要去li

2020-12-11 23:12:41 19

原创 669. 修剪二叉搜索树(BST)

669. 修剪二叉搜索树题目解题思路代码题目给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。 可以证明,存在唯一的答案。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。提示:树中节点数在范围 [1, 104] 内0 <= Node.val <=

2020-12-11 00:20:12 22

原创 417. 太平洋大西洋水流问题(DFS)

417. 太平洋大西洋水流问题题目解题思路代码题目给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度。“太平洋”处于大陆的左边界和上边界,而“大西洋”处于大陆的右边界和下边界。规定水流只能按照上、下、左、右四个方向流动,且只能从高到低或者在同等高度上流动。请找出那些水流既可以流动到“太平洋”,又能流动到“大西洋”的陆地单元的坐标。提示:输出坐标的顺序不重要m 和 n 都小于150解题思路这题和130题有点类似,都是从边界往内寻找。这题呢我们从边界出发,假设先从上边

2020-12-10 00:02:47 28

原创 130. 被围绕的区域(DFS)

130. 被围绕的区域题目解题思路代码题目给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充解题思路可达性问题,用DFS。这题主要思路你要想到 从四条边开始往内排除。而不是从内往外寻找。题目要求在边界的字母’O’都不会被填充,被X包围的才会被填充。那么我们可以把二维数组想象成一个正方形, 我们先从四条边找出不会被填充的。也就是四条边上的’O’。但是注意,与四条边上的’O’相连的’O’也不会被填充,因

2020-12-08 23:37:04 17

原创 547. 朋友圈(DFS)

547. 朋友圈题目解题思路代码题目班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈总数。提示:1 <= N <= 200M[i][i] == 1

2020-12-07 23:08:19 21

原创 200. 岛屿数量(DFS)

200. 岛屿数量题目解题思路代码题目给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。提示:m == grid.lengthn == grid[i].length1 <= m, n <= 300grid[i][j] 的值为 ‘0’ 或 ‘1’解题思路该题也是求可达性的一种问题,所以要用DFS来解决。加上本题和6

2020-12-06 16:19:20 22

原创 695. 岛屿的最大面积(DFS)

695. 岛屿的最大面积题目解题思路代码题目给定一个包含了一些 0 和 1 的非空二维数组 grid 。一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)注意: 给定的矩阵grid 的长度和宽度都不超过 50。解题思路这题求岛屿最大面积,又要求岛屿要连续,其实就是可达性问题很明显要用DFS。知道

2020-12-05 22:44:38 15

原创 java中length和length()的区别

length() 用于求String字符串对象的长度length 是求数组中有多少个元素

2020-12-05 22:37:44 46

原创 DFS算法解题模板

2020-12-05 22:02:15 17

原创 A、B、C类地址

2020-12-05 11:47:16 18

原创 对VMnet的理解

一个vmnat就相当于一个网络我们物理机的网卡也可以接到这个vmnat网络里面,访问物理机其实就相当于访问物理机的网卡地址。必须在同一个网络(vmnat)内,才可以通信。如果是桥接模式相当于直接把虚拟机和物理机插到同一个交换机上了...

2020-12-05 11:45:11 9

原创 127. 单词接龙(BFS)

127. 单词接龙题目解题思路代码没有抽取方法版本抽取了方法的版本题目给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设 beginWord 和 endWord 是非空的,且二者不相同。解题

2020-12-05 00:19:41 22

原创 279. 完全平方数(BFS)

279. 完全平方数题目解题思路代码题目给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。解题思路这题有两种解法,①BFS ②动态规划:以后再写,这里主要写BFS解法这题用BFS解题的关键是如何把题目要求转换成数据结构–“图”。我们这里用的转换条件是以0作为根节点,它的子节点应该满足 (i*i)+0(poll:被放入到队列中的元素)<=n 注:(1<=i<=n)。如果满足该要求,那么才可

2020-12-03 22:11:28 12

原创 111. 二叉树的最小深度(BFS)

111. 二叉树的最小深度题目解题思路代码题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。提示:树中节点数的范围在 [0, 105] 内-1000 <= Node.val <= 1000解题思路这题一看要求最短路径,第一反应就是BFS。 这题很简单直接套用BFS模板就行了。代码class Solution { public int minDepth(TreeNode roo

2020-12-02 23:53:14 38

原创 java中的Pair

Pair今天刷题遇到了Pair,以前没遇到过,在这里记录一下简介配对(Pair)。配对提供了一种方便方式来处理简单的键值关联,当我们想从方法返回两个值时特别有用。Pair类在javafx.util 包中,类构造函数有两个参数,键及对应值: Pair<Integer, String> pair = new Pair<>(1, "One"); Integer key = pair.getKey(); String value = pair.getValue

2020-12-02 22:53:33 17

原创 BFS解题模板

文字版 void BFS() { 定义队列; 定义备忘录,用于记录已经访问的位置; 判断边界条件,是否能直接返回结果的。 将起始位置加入到队列中,同时更新备忘录。 while (队列不为空) { 获取当前队列中的元素个数。 for (元素个数) { 取出一个位置节点。 判断是否到达终点位置。

2020-12-02 22:44:05 20 1

原创 1091. 二进制矩阵中的最短路径(BFS)

1091. 二进制矩阵中的最短路径题目解题思路代码题目在一个 N × N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1)。一条从左上角到右下角、长度为 k 的畅通路径,由满足下述条件的单元格 C_1, C_2, …, C_k 组成:相邻单元格 C_i 和 C_{i+1} 在八个方向之一上连通(此时,C_i 和 C_{i+1} 不同且共享边或角)C_1 位于 (0, 0)(即,值为 grid[0][0])C_k 位于 (N-1, N-1)(即,值为 grid[N-1][N-1])如

2020-12-02 22:42:25 18 1

原创 95. 不同的二叉搜索树 II(分治)

95. 不同的二叉搜索树 II题目解题思路代码题目给定一个整数 n,生成所有由 1 … n 为节点所组成的 二叉搜索树 。提示:0 <= n <= 8解题思路这题是96题的进化版,这次的主要思路是递归。主要是:生成根,生成左子树,生成右子树,拼接。还是和96由共同的思想:左子树的节点值的集合为 [1,i−1],右子树的节点值的集合为 [i+1,n]我们定义 helper(start, end) 函数表示当前值的集合为 [start,end],返回序列[start,end]

2020-12-01 21:45:11 6

Mysql调优.xmind

学习Mysql调优时候所画的思维导图

2021-01-15

JVM底层原理课件PPT

JVM视屏教程对应的PPT课件。发布在这里保存一下。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2020-09-11

FTP服务器配置步骤详解.pdf

此资源是为了对应我的那篇博客,解决FTP服务搭建的详细问题,作为一个入门的教程来上传的。里面记载了在Linux服务器下如何搭建FTP服务的详细步骤,以及常见问题的解决方法。

2020-05-27

分类专栏上限?

发表于 2020-11-12 最后回复 2020-11-12

空空如也

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

TA关注的人 TA的粉丝

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