auto commit

This commit is contained in:
CyC2018 2018-04-03 15:27:36 +08:00
parent 769ed707d9
commit 8721fd48a3
3 changed files with 4 additions and 6 deletions

View File

@ -291,8 +291,6 @@ transient Entry[] table;
JDK 1.8 使用 Node 类型存储一个键值对,它依然继承自 Entry因此可以按照上面的存储结构来理解。 JDK 1.8 使用 Node 类型存储一个键值对,它依然继承自 Entry因此可以按照上面的存储结构来理解。
需要注意的是Key 类型为 final这意味着它不可改变因此每个桶的链表采用头插法实现也就是说新节点需要只能在链表头部插入。
```java ```java
static class Node<K,V> implements Map.Entry<K,V> { static class Node<K,V> implements Map.Entry<K,V> {
final int hash; final int hash;
@ -347,9 +345,9 @@ map.put("K3", "V3");
- 新建一个 HashMap默认大小为 16 - 新建一个 HashMap默认大小为 16
- 插入 &lt;K1,V1> 键值对,先计算 K1 的 hashCode 为 115使用除留余数法得到所在的桶下标 115%16=3。 - 插入 &lt;K1,V1> 键值对,先计算 K1 的 hashCode 为 115使用除留余数法得到所在的桶下标 115%16=3。
- 插入 &lt;K2,V2> 键值对,先计算 K2 的 hashCode 为 118使用除留余数法得到所在的桶下标 118%16=6。 - 插入 &lt;K2,V2> 键值对,先计算 K2 的 hashCode 为 118使用除留余数法得到所在的桶下标 118%16=6。
- 插入 &lt;K3,V3> 键值对,先计算 K3 的 hashCode 为 118使用除留余数法得到所在的桶下标 118%16=6它需要插在 &lt;K2,V2> 之前 - 插入 &lt;K3,V3> 键值对,先计算 K3 的 hashCode 为 118使用除留余数法得到所在的桶下标 118%16=6插在 &lt;K2,V2> 后面
<div align="center"> <img src="../pics//c812c28a-1513-4a82-bfda-ab6a40981aa0.png" width="600"/> </div><br> <div align="center"> <img src="../pics//07903a31-0fb3-45fc-86f5-26f0b28fa4e7.png" width="600"/> </div><br>
查找需要分成两步进行: 查找需要分成两步进行:

View File

@ -3013,7 +3013,7 @@ Only two moves are needed (remember each move increments or decrements one eleme
**解法 1** **解法 1**
先排序时间复杂度O(NlgN) 先排序时间复杂度O(NlogN)
```java ```java
public int minMoves2(int[] nums) { public int minMoves2(int[] nums) {
@ -3031,7 +3031,7 @@ public int minMoves2(int[] nums) {
**解法 2** **解法 2**
使用快速排序找到中位数,时间复杂度 O(N) 使用快速选择找到中位数,时间复杂度 O(N)
```java ```java
public int minMoves2(int[] nums) { public int minMoves2(int[] nums) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB