0%

概述

HashMap是常用的数据结构,在java8中,其底层是用数组、链表、红黑树结合实现的。在新建一个HashMap时会初始化一个指定大小的数组,在插入元素的过程中,会通过key定位到数组的某个位置上,然后根据链表或红黑树的数据结构进行插入。当数组中已使用的位置达到某个阈值时,会对数组进行扩容。HashMap的数据结构大致如下图所示

阅读全文 »

hexo博客中默认只有发表时间,并没有最后修改的时间,而且显示时间是年月日,并没有具体到时分秒。这并不能满足我的需求,因此我觉得为博客加上最后的修改时间,并将显示的时间具体到时分秒。本文主要记录如何增加显示博客的最后修改时间,以及将默认显示时间由年月日改成年月日时分秒。

注意:本文基于主题*NexT*主题 (version: 5.1.4),对于其他主题可能并不适合。

阅读全文 »

定义

观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。观察者模式主要有两个对象,主题(被观察者)和订阅者(观察者),这是一个一对多的关系,同一个主题可以有多个订阅者,当主题发生改变时,每个订阅者都能收到消息通知并执行对应的逻辑。

阅读全文 »

问题描述

给出一个数组,要求找出其中三个数相加值为 0 的所有组合。需要注意的是,输出不能包括相同的三元数组。例如:[1, 0, -1]、[1, -1, 0]、[-1, 0, 1]、[-1, 1, 0]、[1, -1, 1]、[0, 1, -1]这几个属于相同的三元数组,只需要输出其中个任何一个即可。题目链接:**点我**

阅读全文 »

hexo官方提供了很多**插件**方便编写管理文章,以下几个插件是我觉得相对比较好用的插件。

注意:本文均以*NexT*主题 (version: 5.1.4)为基础进行的配置,不同的主题配置不同

阅读全文 »

特征

  • 所有的节点必须是红节点或黑节点
  • 根节点是黑色
  • 每个空叶子节点(不同于二叉搜索树,红黑树的叶子节点均为空,即只有黑颜色属性,无其他属性)为黑色
  • 红节点的子节点为黑色(即:不能连续两个父子节点均为红节点)
  • 从任意节点到其叶子节点经过的路径的黑节点数相同,即拥有相同的黑路径
阅读全文 »

问题描述

给定两个链表,链表中的数字是非负整数,表示一个整数的逆序,要求将这两个链表进行相加。其实就是模拟大数相加的过程。题目链接:**点我**

阅读全文 »