自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7思路:前序是根左右 中序是左根右 所以可以根据前序找到根节点,然后在中序的数组中找到根节点的位置,所以中序中根节点左边就是左孩子,根节点右边就是右孩子。(并且可以根据...

2021-07-08 17:48:12 336

原创 Leetcode3_无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-ch...

2021-06-01 16:36:48 225

原创 剑指offer_栈的压入弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列 1,2,3,4,5 是某栈的压入顺序,序列 4,5,3,2,1 是该压栈序列对应的一个弹出序列,但 4,3,5,1,2 就不可能是该压栈序列的弹出序列。/** * 使用一个栈来模拟压入弹出操作。每次入栈一个元素后,都要判断一下栈顶元素是不是当前出栈序列 * * @param pushA * @param popA * @return */publi

2021-05-07 16:01:24 269

原创 正则表达式提取中括号[]内文字并进行文字分离

最近有这样一个需求,需要将一段文本中由[]括起来的文字和其他文字分割开来,于是想到了正则表达式。先上代码:public static void spiltText(String text) { String regex = "(\\[[^\\]]*\\])"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(text); int l

2021-02-24 19:30:26 3063

原创 Leetcode139_单词拆分

描述:给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet code"。示例 2:输入: s = "applepenapple", word.

2020-12-22 22:56:11 178

原创 Leetcode226_翻转二叉树

/** * 翻转一棵二叉树。 * <p> * 示例: * <p> * 输入: * <p> * 4 * / \ * 2 7 * / \ / \ * 1 3 6 9 * 输出: * <p> * 4 * / \ * 7 2 * / \ / \ * 9 6 3 1 * 备注: * 这个问题是受到 Max Howell 的 原问题 启发的 : * <p> * 谷歌:.

2020-10-30 09:32:42 176

原创 Leetcode234_回文链表

/** * 请判断一个链表是否为回文链表。 * <p> * 示例 1: * <p> * 输入: 1->2 * 输出: false * 示例 2: * <p> * 输入: 1->2->2->1 * 输出: true * 进阶: * 你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题? * <p> * <p> * <p> * 来源:力扣(LeetCode) * 链接:h..

2020-10-27 18:52:29 122

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

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树:root =[3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释: 节点 5 ...

2020-10-22 19:58:27 275

原创 Leetcode238_除自身以外数组的乘积

* 给你一个长度为n的整数数组nums,其中n > 1,返回输出数组output,其中 output[i]等于nums中除nums[i]之外其余各元素的乘积。* <p>* * <p>* 示例:* <p>* 输入: [1,2,3,4]* 输出: [24,12,8,6]* 提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。* <p>* 说明: 请不要使用除法,...

2020-10-22 14:11:04 163

原创 Leetcode239_滑动窗口最大值

给定一个数组 nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。进阶:你能在线性时间复杂度内解决此题吗?示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释: 滑动窗口的位置 最大值--------------- ----...

2020-10-19 14:02:15 174

原创 Leetcode279_完全平方数

* 给定正整数n,找到若干个完全平方数(比如1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 * * 示例1: * * 输入: n = 12 * 输出: 3 * 解释: 12 = 4 + 4 + 4. * 示例 2: * * 输入: n = 13 * 输出: 2 * 解释: 13 = 4 + 9. * * 来源:力扣(LeetCode) * 链接:https://leetcode-cn.com/problems/perfe...

2020-10-13 18:11:31 143

原创 Leetcode283_移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路:该题比较简单public void ..

2020-10-12 14:15:19 146

原创 Leetcode300_最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为O(n2) 。进阶: 你能将算法的时间复杂度降低到O(n log n) 吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-in...

2020-10-10 20:51:08 132

原创 高级Java开发之路(面试直通车,持续更新,3万7千字长文)

高级Java开发之路算法新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入算法冒泡选择 选最小的放前面插入 (插扑克牌)归并 部分让其有序 再通过外排的方式 合并 O(NlogN)工程中的综合排序样本量小时

2020-09-27 18:42:14 2167 1

原创 Leetcode416_分割等和子集

给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集.来源:力扣(LeetCode)链接:https://leetcode-cn.com/..

2020-09-25 00:20:08 156

原创 Leetcode437_路径总和3

给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 / \ 5 -3 / \ \ 3 2 11...

2020-09-23 23:19:01 124

原创 Leetcode448_找到所有数组中消失的数字

给定一个范围在1 ≤ a[i] ≤ n (n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-all-num...

2020-09-21 23:34:44 119

原创 Leetcode461_汉明距离

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。思路:先做异或^ 运算,相同得0 ,相反得1,所以该题变成了求x异或y所得结果的1的个数。时间复杂度:O(1),在 J...

2020-09-20 20:28:01 176

原创 Leetcode_把二叉搜索树转换为累加树

题目描述:给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:输入: 原始二叉搜索树: 5 / \ 2 13输出: 转换为累加树: 18 / \ 20 13思路:按照节点值降序遍历所有节...

2020-09-18 19:51:22 130

原创 Leetcode543_二叉树的直径

给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。思路:直径最大分为三种情况:最大直径在:1、根节点左子树2、根节点右子树3、包括根节点再想一...

2020-09-17 23:22:54 155

原创 leetcode581_最短无序连续子数组

给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。说明 :输入的数组长度范围在[1, 10,000]。输入的数组可能包含重复元素,所以升序的意思是<=。思路:先排序一下,找两端不一样数字的位...

2020-09-15 20:34:31 154

原创 leetcode617_合并二叉树

给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL 的节点将直接作为新二叉树的节点。示例1:输入: Tree 1 Tree 2 1 2 ...

2020-09-15 20:30:22 122

原创 leetcode621_任务调度器

给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。然而,两个相同种类的任务之间必须有长度为n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。你需要计算完成所有任务所需要的最短时间。示例 :输入:tasks = ["A","A","A","B"..

2020-09-14 23:41:48 190 2

原创 leetcode647_回文子串

给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例 1:输入:"abc"输出:3解释:三个回文子串: "a", "b", "c"示例 2:输入:"aaa"输出:6解释:6个回文子串: "a", "a", "a", "aa", "aa", "aaa"提示:输入的字符串长度不会超过 1000 。解题思路:通过中心扩展的方法,从左从右去判断子字符串是否回文...

2020-09-13 13:25:31 112

原创 Leetcode42_接雨水

给定n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/trapping-rain-water著..

2020-05-22 11:44:28 207

转载 Java8中的时间常见处理

前言:好久没写博客了,最近看到一篇不错的分享!https://juejin.im/post/5a795bad6fb9a0634f407ae5Java 8 日期处理Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDate...

2020-03-10 18:05:03 198

原创 java线程池ThreadPoolExecutor八种拒绝策略浅析

非常不错的一篇文章!好文共享!http://www.kailing.pub/article/index/arcid/255.html

2020-01-06 20:20:21 247

原创 Spark Streaming

Spark Streaming介绍• Spark Streaming是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理• 支持多种数据源获取数据:• Spark Streaming接收Kafka、Flume、HDFS等各种来源的实时输入数据,进行处理后,处理结构保存在HDFS、DataBase等各种地方Spark Core和Spark Str...

2020-01-06 17:48:26 358

原创 flume

flume简介是Apache软件基金顶级项目,一个分布式、可信任的弹性系统,用于高效收集、汇聚和移动大规模日志信息从多种不同的数据源到一个集中的数据存储中心。主要功能– 支持在日志系统中定制各类数据发送方,用于收集数据– Flume提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力- 支持多种数据源特点• Flume可以高效率的将多个网站服务器中收集的日志信息存...

2020-01-04 15:39:06 467

原创 HDFS2.0

HDFS2.0的新特性• NameNode HA(高可用)• NameNode Federation• HDFS 快照• HDFS 缓存• HDFS ACL• 异构层级存储结构NameNode HAHDFS1.0中存在的问题:Hadoop 1.0中NameNode在整个HDFS中只有一个,存在单点故障风险,一旦NameNode挂掉,整个集群无法使用解决方法:...

2020-01-04 11:47:30 328

原创 Yarn(Hadoop2.0)

前言百度百科上的定义:Yarn介绍Hadoop集群的资源管理系统(ResourceManger->RM)• 更高级:集群操作系统 为应用程序提供了基本服务来更好地利用大的、动态的、并行的基础设施资源• Hadoop2.0对MapReduce框架做了彻底的重构,MapReduce不再是Hadoop的核心组件,而成为Yarn上的一 种应用框架,称为MRv2(Map...

2020-01-02 10:39:46 678 2

原创 Spark整理

Spark介绍一个分布式的并行计算框架 spark是下一代的map-reduce,扩展了mr的数据处理流程 executor都是装载在container里运行,container默认内存是1G(参数yarn.scheduler.minimum-allocation-mb定义) AM(Application Master)在Spark中叫driver,AM向RM申请的是execut...

2019-12-31 10:57:56 446

转载 Linux下profile和bashrc区别

Linux下profile和bashrc区别1./etc/profile用来设置系统环境参数,比如$PATH. 这里面的环境变量是对系统内所有用户生效的。2./etc/bashrc这个文件设置系统bash shell相关的东西,对系统内所有用户生效。只要用户运行bash命令,那么这里面的东西就在起作用。3.~/.bash_profile用来设置一些环境变量,功能和/etc/prof...

2019-12-30 17:34:52 234

原创 Hive整理

Hive产生的原因: – 对存在HDFS上的文件或HBase中的表进行查询时,是要手工写一堆MapReduce代码 – 对于统计任务,只能由懂MapReduce的程序员才能搞定 – 耗时耗力,更多精力没有有效的释放出来Hive介绍:Hive基于一个统一的查询分析层,通过SQL语句的方式对HDFS上的数据进行查询、统计和分析。• Hive是一个SQL解析引擎,...

2019-12-27 16:13:52 329

原创 MapReduce小记和Hadoop Streaming

MapReduce中两个重要的进程– JobTracker • 主进程,负责接收客户作业提交,调度任务到作节点上运行,并提供诸如监控工作节点状态及任务进度等 管理功能,一个MapReduce集群有一个jobtracker,一般运行在可靠的硬件上。 • tasktracker是通过周期性的心跳来通知jobtracker其当前的健康状态,每一次心跳包含了可用的map和...

2019-12-27 15:37:50 372

转载 Hadoop基本命令

创建目录hadoop dfs -mkdir /home上传文件或目录到hdfshadoop dfs -put hello /hadoop dfs -put hellodir/ /查看目录hadoop dfs -ls /创建一个空文件hadoop dfs -touchz /wahaha删除一个文件hadoop dfs -rm /waha...

2019-12-27 13:27:51 305

原创 Kafka底层原理

安装kafkatar -zxvf . 进入到config目录下修改server.propertiesbroker.idlisteners=PLAINTEXT://192.168.218.131:9092zookeeper.connect启动sh kafka-server-start.sh -daemon ../config/server.propertiessh kafk...

2019-12-25 11:40:45 542

原创 @Transactional注解失效

1、检查方法是不是public的 (只能应用到 public 可见度的方法)2、异常类型是不是unchecked异常注解会对unchecked异常进行事务回滚;如果是checked异常则不回滚。java里面将派生于Error或者RuntimeException(比如空指针,1/0)的异常称为unchecked异常;其他继承自java.lang.Exception得异常统称为Ch...

2019-12-24 16:48:03 209

原创 Fork/Join以及FutureTask的原理分析(含RecursiveAction、RecursiveTask )

FutureTask首先讲一下FutureTask,它表示的是一种,异步操作的典范。我提交了任务,在未来我要拿到结果。 考虑一种简单的场景,甲问乙一个问题,乙一时回答不了,乙要去考虑一段时间(查一下资料),等到有结果了,再告诉甲。 这时,我们需要类甲,类乙。它的使用原理可以博主之前的篇文章:https://blog.csdn.net/qq_41864967/article/de...

2019-12-18 11:43:55 917

原创 从头捋一遍 MySQL 索引结构,索引没你想的那么难!

学习链接:https://mp.weixin.qq.com/s/0JkWDDx6fTaII0Jgo36Nqw

2019-12-16 14:52:43 219

空空如也

空空如也

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

TA关注的人

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