自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Leecode 130. 被围绕的区域

Leecode130. 被围绕的区域题目:思路:代码分析:代码实现:题目:给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:被围绕的...

2019-09-24 00:45:51 129

原创 Leecode129. 求根到叶子节点数字之和

Leecode129. 求根到叶子节点数字之和题目:思路:代码分析:代码实现:题目:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3]1/ \2 3...

2019-09-22 21:55:54 773

原创 final、finally、finalize

基础:final可以用来修饰类,方法、变量,分别有不同的意义,修饰class时,该class不能被继承,修饰方法时,该方法不能被重写,修饰基本变量时,该变量不可变,修饰引用类型时,引用不可以被赋值,但引用的对象的行为不受影响;finally,finally是java保证某些关键代码一定会被执行的一种手段,配合try或者try-catch语句一起使用;finalize是Object类的一个方...

2019-09-22 21:15:24 107

原创 Leecode 117. 填充每个节点的下一个右侧节点指针 II

Leecode117 填充每个节点的下一个右侧节点指针 II题目:思路:代码分析:代码实现:题目:给定一个二叉树struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指...

2019-09-20 22:07:35 100

原创 1. JVM如何处理异常

在程序正常的情况下finally代码块会在try代码块后面运行,如果try代码块抛出了异常,又没有被相应的catch代码块捕获,那么finally代码块会执行完后重新抛出该异常;如果异常被catch代码块捕获,则finally代码块在catch代码块之后运行;如果catch代码块也抛出了异常,那么finally代码块会运行,然后抛出catch代码块中抛出的异常;如果final...

2019-09-16 22:47:55 88

原创 2.Exception和Error

Exception和Error都继承了Throwable类,在java中,只有Throwable类型的实例才能被抛出或者捕获,它是异常处理机制的基本组成部分;Exception是程序正常运行中,可预料的情况,可能并且应该被捕获,进行相应的处理;Error是指在正常情况下不大可能出现的情况,绝大多数的Error都会导致程序处于非正常的、不可恢复的状态,既然是非正常情况,所以不便于也不需要捕获,...

2019-09-13 21:51:10 153

原创 笔记

位运算奇技淫巧奇偶判断  和1相与,等于0偶数 等于1奇数交换两数 异或去重  两个相同值异或被消掉 三个相同数异或等于奇本身  案例  找成对的数,找落单的数  n&(n-1)   作用 :求二进制1的个数,判断整数是不是2的整数次幂...

2019-09-13 21:00:27 86

原创 Leecode 108、109 将有序数组、链表转换为二叉搜索树

Leecode108、109 将有序数组、链表转换为二叉搜索树题目:思路:代码分析:代码实现:题目:**将一个按照升序排列的有序数组、链表,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组、链表: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示...

2019-09-11 23:30:37 151

原创 Leecode106 从中序与后序遍历序列构造二叉树

Leecode106 从中序与后序遍历序列构造二叉树题目:思路:代码分析:代码实现:题目:根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树:3/ \9 20… / \. .15 7来源:力扣...

2019-09-11 22:55:37 94

原创 Leecode105 从前序与中序遍历序列构造二叉树

Leecode105 从前序与中序遍历序列构造二叉树题目:思路:代码分析:代码实现:题目:根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:3/ \9 20… / \. 15 7来源:力扣(L...

2019-09-11 22:35:12 157

原创 1.对Java平台的理解(仅总结,非原创)

Java本身是一种面向对象的语言,最显著的特性有两个方面,一是所谓的“一次书写,到处执行”,能够非常容易的获得跨平台的能力,另一个就是垃圾收集,java通过垃圾收集器回收分配的内存,大部分情况下,程序员不需要自己操心内存的分配和回收;我们日常会接触到JRE和JDK,JRE即运行环境,JDK比JRE多了一些编译器、诊断工具等;JAVA是解释执行这句话不太准确,JAVA源代码通过Javac编译成...

2019-09-11 20:35:39 86

原创 Leecode101对称二叉树

Leecode101 对称二叉树题目:思路:代码分析:代码实现:题目:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:1/ \2 31/ \2 3[1,2,3], [1,2,3]输出: true示例 2:输入:1/21\2[1,2], [1,null,2...

2019-09-10 22:43:53 96

原创 Leecode100 相同的树

Leecode100 相同的树题目:思路:代码分析:代码实现:题目:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:1/ \2 31/ \2 3[1,2,3], [1,2,3]输出: true示例 2:输入:1/21\2[1,2], [1,null,2]...

2019-09-10 21:36:59 101

原创 Leecode 99 恢复二叉搜索树

Leecode99 恢复二叉搜索树题目:思路:代码分析:代码实现:题目:二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例 1:输入: [1,3,null,null,2]1/3\2输出: [3,1,null,null,2]3/1\2示例 2:输入: [3,1,4,null,null,2]3/ \1 4/2输出: [2,...

2019-09-09 22:17:13 84

原创 Leecode 37 解数独

Leecode37 解数独题目:思路:代码分析:代码实现:题目:编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。空白格用 ‘.’ 表示。一个数独。答案被标成红色。Note:给定的数独序列只包含数字 1-9 和...

2019-09-04 22:23:33 163

原创 Leecode51、52 N皇后

Leecode51、52 N皇后题目:思路:代码分析:代码实现:题目:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。(皇后攻击范围无限远,但只能攻击四个方向,水平、垂直以及两条对角线方向)给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方...

2019-09-02 21:52:01 101

原创 Leecode22 括号生成

Leecode22 括号生成题目:思路:代码实现:题目:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]思路:分治:求n可以在n-1的答案前面、后面加上一对括号,或者前面加左括号,后面加右括号,但是得注...

2019-08-30 21:33:18 98

转载 JS中的==和===

原文链接:https://blog.csdn.net/weixin_41530824/article/details/847837961、===:称为等同符,当两边值的类型相同时,直接比较值,若类型不相同,直接返回false;2、==:称为等值符,当等号两边的类型相同时,直接比较值是否相等,若不相同,则先转化为类型相同的值,再进行比较;类型转换规则:1)如果等号两边是boolean、str...

2019-08-29 15:43:47 372

原创 Leecode122 买卖股票的最佳时机Ⅱ

Leecode122 买卖股票的最佳时机Ⅱ题目:思路:代码实现:题目:122: 给定一个数组,它的第 i 个元素是一支给定股票第 i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。思路:DFS:当手里没有股票的时候可以选择买或者不买,当手里有股票的时候可以选择卖...

2019-08-28 23:05:57 98

原创 Leecode169 求众数

Leecode169 求众数题目:思路:代码实现:题目:169:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数;思路:暴力解法,双层循环统计每个数字出现的次数,大于n/2则返回,时间复杂度n2;改善暴力解法的时间复杂度,使用hash码来快速定位存储数字出现的次数并对其进行+1,...

2019-08-28 23:02:53 95

原创 Leecode144、94、145 二叉树的前、中、后序遍历

Leecode144、94、145 二叉树的前、中、后序遍历题目:思路:思路详细分析:代码实现:题目:144、94、145:给定一个二叉树,返回它的 前、中、后序 遍历。。思路:使用递归;使用循环;思路详细分析:递归方法非常简单,无需说明,在这几个题目中,因为十分简单,除了函数的参数外也没有用到额外的局部变量,并没有浪费太多的空间;使用循环则需要借助Stack,...

2019-08-27 00:21:38 112

原创 Leecode102 二叉树的层次遍历

Leecode102 二叉树的层次遍历题目:思路:代码实现:题目:102:给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7],3/ \9 20/ \15 7返回其层次遍历结果:[[3],[9,20],[15,7]]思路:BFS:搜索即完美符合该题的要求,只...

2019-08-26 22:47:33 118

原创 Leecode50 Pow(x,n)

@[TOC](Leecode50 Pow(x,n))题目:50:实现 pow(x, n) ,即计算 x 的 n 次幂函数。思路:使用库函数,但一般都要求不这么做,失去了题目的价值了;循环暴力乘,时间复杂度O(n);5^4实际上等于 15^2,以此思想实现时间复杂度为O(logN)的解法;第三思路详细分析:注意N为负数的时候应该将N变成正数,并且x = 1/x;...

2019-08-26 22:37:38 89

原创 2019.08.26

1.Oracle通过序列实现自增长ID;https://www.cnblogs.com/xielong/p/8950999.html

2019-08-26 21:06:41 74

原创 对红黑树的插入、删除理解及java代码实现

红黑树的性质:节点要么是黑色,要么是红色;根节点永远是黑色;红色节点的子节点只能是黑色;从一个节点到一个null引用的每一条路径必须包含相同数目的黑色节点;根据红黑树的性质:如果节点的两个子节点都为红色,则可以进行颜色反转,节点变红,两个子节点都变黑;节点的旋转:如果需要插入的节点相对于父亲节点的位置 和 父亲节点相对于 爷爷节点的位置相同时,单旋转,如果位置不同,则需要...

2019-08-23 23:05:07 513

原创 2019.08.23

org.apache.commons.lang是jdk lang包的补充,StringUtils提供了对string的检查、截取、补全等多种操作,目前项目用到的isNotBlank(String str)函数会对字符串进行检查是否为null 、“” ,并对每个字符一次使用Character的isWhitespace进行检查,str 不为null,不为“”且至少有一个字符不是空白,则会返回true...

2019-08-23 17:29:01 72

原创 Storm分布式实时计算模式部分读书笔记第二章

Puppet工具可进行自动化安装Storm,有利于部署多节点的集群;Storm集群包括一个主节点:nimbus和多个工作节点:supervisor,除此之外,Storm还需要一个Zookeeper实例;nimbus和supervisor是Storm提供的后台守护进程,可以共同存在同一台机器上;nimbus:协调和监控集群上运行的topology,包括topology的发布、任务指派、事件...

2019-08-22 17:26:14 116

原创 Storm分布式实时计算模式部分读书笔记第一章

当topology发布时,所有的bolt和spout组件首先会进行序列化,然后通过网络发送到集群中,如果spout或者bolt在序列化之前(比如:构造函数)生成,实例化了任何无法序列化的实例变量,在进行序列化时会抛出NotSerializableException异常,部署失败;通常情况下,最好是在构造函数中对基本数据类型和可序列化的对象进行赋值和实例化,在prepare方法中,对不可序列化的对...

2019-08-22 15:30:48 118 1

原创 2019.08.21

项目中对Class.forName(“classname”)函数的返回值进行了判空处理,印象中forName函数是不会返回null的,查看JDK1.8中,Class.forName函数源码return 语句:return forName0(className, true, ClassLoader.getClassLoader(caller), caller);forName0函数:/*...

2019-08-21 17:16:22 63

原创 2019.08.20

Class.getConstructor函数是不能返回父类的构造函数的,因为构造函数是不能被继承的;

2019-08-20 17:32:10 78

原创 二叉树的最小、最大深度

Leecode111 114二叉树的最小、最大深度题目:思路:代码实现:题目:111:给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \15 7返回它的最小深度 2.114:最大深度,同理;思路:...

2019-08-19 19:42:24 244

转载 【转】window10单机安装storm集群

window10单机安装storm集群适合范围:storm自由开源的分布式实时计算系统,擅长处理海量数据。适合处理实时数据而不是批处理。安装前的准备1.安装zookeeper①下载zookeeperhttps://zookeeper.apache.org/,点击download进入新页面之后,—>download,选择一个镜像文件下载到本地;②下面是我选择的文件http://mir...

2019-08-19 17:05:30 370

原创 2019.08.19

ClassNotFoundException:调用函数:Class.forNama(“xx”):xx没有包含类的包名时候会找不到类,报ClassNotFoundException;int.class == Integer.Type != Integer.class, 其他基本变量同理;...

2019-08-19 09:55:20 66

原创 二叉树的最近公共祖先

Leecode235、236二叉树的最近公共祖先题目:思路:第二思路详细分析:代码实现:题目:235:二叉搜索树的最近公共祖先236:二叉树的最近公共祖先思路:最近公共祖先最容易想到的就是使用路径来解决,如果每个子节点都有指向父节点的指针,那这个题目就变成了找两个子节点到根节点的两条交叉链表的交叉点;这个就很好实现了,如果没有指向父节点的指针且树是二叉搜索树,那么可以分别找到从根节点到...

2019-08-16 16:43:06 870

原创 前言

从事技术工作有几年了,一直没有写博客的习惯,一来觉得网上那些随便一搜就能搜到的内容等没有写博客的必要,写了也只是做个备份,方便查看,既然随便搜都能搜到,我又何必用博客保存,二来我手头有项目要管,有新技术要学,时间也不是特别充裕。直到前一段时间回过头来看自己学过的设计模式,有种似懂非懂的感觉,也许是运用太少的源故,所以有种想要深入理解的冲动。虽说写案例、做项目是理解设计模式比较好的方法,但如果能够彻...

2018-09-23 12:42:20 129

空空如也

空空如也

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

TA关注的人

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