自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

流的博客

spring全家桶/分布式/hadoop生态

  • 博客(23)
  • 收藏
  • 关注

原创 为什么mysql使用innodb替代了myisam的一些思考?

关于innodb和mysiam的区别: https://blog.csdn.net/qq_35688140/article/details/101936797 myisam使用的非聚簇索引如下:(假设只有两个字段 id和name) innodb的聚簇索引:叶子页包含行的全部数据(辅助索引查询依赖聚簇索引) 对比一:读写性能–myisam优于innodb 对比过程参考:https://zhuan...

2019-11-26 21:40:34 1287

原创 rabbitmq(二):rabbitmq的安装和四种交换机整合springboot

1. AMQP协议 (1)二进制协议 (2)消息模型:核心exchange->message queue之间的绑定关系 (3)概念:message由两部分组成,properties和body,在properties中存放的是对消息的消息的修饰,如优先级、延迟。在body中存放的就是消息内容。 virtual host:一个逻辑隔离的虚拟地址。每个虚拟主机都含有若干个exchange和mes...

2019-11-25 21:12:49 225

原创 (25)复杂链表的复制

1.问题 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 2. 思路 (1)先将原来的链表复制一份,具体赋值方式如下: (2)根据原来的节点的random确定复制节点的random (3)最后将蓝色的节点和绿色的节点分开 3.代...

2019-11-17 17:01:10 108

原创 (24)二叉中和为某一个值的路径

1. 题目 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 2.思路 由题目中的“数组长度大的数组靠前”可知,需要使用dfs 3.代码 /** * 问题:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 *...

2019-11-17 16:16:00 161

原创 (23)二叉搜索树的后序遍历序列

1.题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 2.思路 每一轮递归实现的功能: 然后遍历蓝色的左子树和绿色的右子树。 3.代码 /** * 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 * 如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 *...

2019-11-17 16:04:08 102

原创 vue(一): vue安装和helloworld

1. 安装 在nodejs的官网安装nodejs,使用node -v检查是否按装成功。 npm包管理器,是集成在node中的,所以,直接输入 npm。因为npm是国外镜像源,使用淘宝镜像源在命令行中输入 npm install -g cnpm --registry=http://registry.npm.taobao.org 然后等待。安装完成以后测试cnpm -v 2. 创建一个项目 vue...

2019-11-12 15:03:15 472

原创 (22)从上往下打印二叉树

1. 题目 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 2.思路 分为两步: (1)将根节点加入队列 (2)循环出队: 如图1节点出队。变成红色,出队时判断该节点是否有左子树和右子树。 如果有左子树和右子树就将左子树和右子树加入到队列中。然后循环从头结点开始出队。 3. 代码 /** * 题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 */ public cl...

2019-11-12 13:54:10 154

原创 (21)站的压入、弹出顺序

1. 题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 2. 思路 以int pushA[] = {1,2,3,4,5};和int popA...

2019-11-09 22:05:43 135 1

原创 (20)包含min函数的栈

1.问题 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 2.思路 这个题目要解决的是,每次从stack里面删除一个数据,如何o(1)的时间复杂度输出一个最小值。如下图,从左边变成右边以o(1)的时间复杂度输出最小值。 采用两个stack,如图,左边的stack用于数据处理,右边的stack用于备份左边的stack的最小值的版本。当左边的s...

2019-11-08 17:54:08 131

原创 (19)顺时针打印矩阵

1. 题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 2.思路 如下图所示,每次遍历, (1)如果是第一层就像红色的线的路径一样,并记录此时layer-0来标示着是第一层...

2019-11-08 14:50:27 90

原创 (18)二叉树的镜像

1. 题目 操作给定的二叉树,将其变换为源二叉树的镜像。 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 2. 思路 对于每个...

2019-11-07 20:51:46 82

原创 dubbo(2): 整合springboot

1. 为什么使用zookeeper 因为如图所示,可以使用zookeeper的树形目录结构,利用monitor来监控下面的provider和consumer。 2.下载dubbo-admin 网址: https://github.com/apache/dubbo-admin/tree/master 在dubbo-admin下面使用控制台,mvn package打包项目。 然后再生成的targe...

2019-11-07 15:17:19 140

原创 (17)树的子结构

1.题目 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 2.思路 先写一个函数isIncludeTree(TreeNode root1, TreeNode root2)判断以root1和root2两个根节点为起点,root1是否包含root2,如下图,右边的图包含左边的图 然后写一个函数遍历右边的树每个节点,如下: (1)比较两个绿色的8,查看是右边...

2019-11-07 15:01:28 98

原创 (16)合并两个排序的链表

1. 题目 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 2. 思路 每次选举出两个链表较小的头节点,插入新链表的尾部 3. 代码 /** * 题目:输入两个单调递增的链表,输出两个链表合成后的链表, * 当然我们需要合成后的链表满足单调不减规则。 */ public class Test16 { public static void...

2019-11-05 13:08:45 94

原创 (15)反转链表

1. 题目 输入一个链表,反转链表后,输出新链表的表头。 2. 思路 重复下面的过程: 3.代码 /** * 题目:输入一个链表,反转链表后,输出新链表的表头。 */ public class Test15 { public static void main(String[] args) { ListNode node = new ListNode(10); ...

2019-11-05 12:58:20 92

原创 (14)链表倒数第k个节点

1. 题目 输入一个链表,输出该链表中倒数第k个结点。 2. 思路 使用快慢指针,一个指针比另一个指针快k步,当其到末尾时,最后一个数恰好到达了倒数第k步 3. 代码 /** * 题目:输入一个链表,输出该链表中倒数第k个结点。 */ public class Test14 { public static void main(String[] args) { } p...

2019-11-05 12:48:01 75

原创 (13)调整数组使奇数位于偶数前

1. 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 2.思路 将所有的奇数放入一个数组,偶数放入一个数组,再将偶数数组加到奇数数组上。 3.代码 /* * @author qianliu on 2019/4/22 10:50 * @Discription: * 1...

2019-11-05 11:01:33 112

原创 (12)数值的整数次方

1.题目 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 2.思路 如果是exponent大于0,那么就是exponent个base相乘,如果exponent小于0就再次取倒数。 3.代码 /* * @author qianliu on 2019/4/21 19:26 * @Discrip...

2019-11-05 10:40:32 108

原创 (11)二进制中1的个数

1.问题 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 2. 思路 方法一:n乘以n-1会把n的二进制最右边的第一个1变成0 方法二:n的最后一个位 & 1,如果是1就是就说明最后一位是1 3.代码 /* * @author qianliu on 2019/4/21 15:47 * @Discription: * 1.问题: * 输入一个整数,输出该数二进制表示...

2019-11-05 10:29:14 290

原创 rabbitmq(一):常见几种消息队列的比较

(1)activemq 具有优秀的api,是sun公司提出的jms规范提出一种消息队列 不适合高并发场合,性能不足,适合中小型架构 两种模式: (2)kafka 速度高:使用操作系统的memory mapper files方式,完成操作系统虚拟内存的作用,从而实现到内存地址的映射。 (3)rocketmq 对kafka的事务性和可靠传输做出了优化 商业版收费 name server...

2019-11-04 19:56:29 1132

原创 设计模式(二十六):状态模式

1. 定义 例如:线程可运行状态,正在运行状态,阻塞状态,等待状态和终止状态。他们之间可以互相转换。 2. 视频之间的状态切换 视频状态类,可以通过context在不同的状态之间切换 VideoContext 表示上下文。主要的作用就是用于不同状态之间切换,如stopState可以点换paly方式实现将videoState = PLAY_STATE ; public class VideoCo...

2019-11-02 19:13:06 143

原创 设计模式(二十五):访问者模式

1. 定义 访问者模式可以将元素和对元素的操作分离,如果有新的操作,可以及时增加新的功能,不需要修改原来的元素。 一旦原有的元素发生变化,后面所有的相关的操作都需要改变。 ...

2019-11-02 14:07:54 110

原创 设计模式(二十四):责任链模式

1. 定义 优点: 2. 负责某一件事成链式存储 课程 检查课程是否可以通过,如果有下一个检查者,当前approver审核完后交给下一个approver 检查课程中是否含有视频 检查视频中是否含有手记 测试 ...

2019-11-01 20:44:54 90

空空如也

空空如也

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

TA关注的人

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