diff --git a/notes/Java 容器.md b/notes/Java 容器.md index 3a7343f9..c039d6a8 100644 --- a/notes/Java 容器.md +++ b/notes/Java 容器.md @@ -100,7 +100,7 @@ List list = Arrays.asList(arr); 也可以使用以下方式调用 asList(): ```java -List list = Arrays.asList(1,2,3); +List list = Arrays.asList(1, 2, 3); ``` # 三、源码分析 @@ -575,7 +575,7 @@ int hash = hash(key); int i = indexFor(hash, table.length); ``` -(一)计算 hash 值 +**4.1 计算 hash 值** ```java final int hash(Object k) { @@ -600,7 +600,7 @@ public final int hashCode() { } ``` -(二)取模 +**4.2 取模** 令 x = 1<<4,即 x 为 2 的 4 次方,它具有以下性质: @@ -727,7 +727,7 @@ new capacity : 00100000 对于一个 Key, -- 它的哈希值如果在第 5 位上为 0,那么取模得到的结果和之前一样; +- 它的哈希值如果在第 6 位上为 0,那么取模得到的结果和之前一样; - 如果为 1,那么得到的结果为原来的结果 +16。 ### 7. 扩容-计算数组容量 diff --git a/notes/Leetcode 题解.md b/notes/Leetcode 题解.md index 3e19a632..bdf03c8d 100644 --- a/notes/Leetcode 题解.md +++ b/notes/Leetcode 题解.md @@ -2781,7 +2781,7 @@ return ret; 定义一个 tails 数组,其中 tails[i] 存储长度为 i + 1 的最长递增子序列的最后一个元素。对于一个元素 x, - 如果它大于 tails 数组所有的值,那么把它添加到 tails 后面,表示最长递增子序列长度加 1; -- 如果 tails[i-1] < x <= tails[i],那么更新 tails[i-1] = x。 +- 如果 tails[i-1] < x <= tails[i],那么更新 tails[i] = x。 例如对于数组 [4,3,6,5],有: diff --git a/notes/剑指 offer 题解.md b/notes/剑指 offer 题解.md index e1a87b5b..6d06d767 100644 --- a/notes/剑指 offer 题解.md +++ b/notes/剑指 offer 题解.md @@ -223,14 +223,14 @@ Output: 在字符串尾部填充任意字符,使得字符串的长度等于替换之后的长度。因为一个空格要替换成三个字符(%20),因此当遍历到一个空格时,需要在尾部填充两个任意字符。 -令 P1 指向字符串原来的末尾位置,P2 指向字符串现在的末尾位置。P1 和 P2从后向前遍历,当 P1 遍历到一个空格时,就需要令 P2 指向的位置依次填充 02%(注意是逆序的),否则就填充上 P1 指向字符的值。 +令 P1 指向字符串原来的末尾位置,P2 指向字符串现在的末尾位置。P1 和 P2 从后向前遍历,当 P1 遍历到一个空格时,就需要令 P2 指向的位置依次填充 02%(注意是逆序的),否则就填充上 P1 指向字符的值。 从后向前遍是为了在改变 P2 所指向的内容时,不会影响到 P1 遍历原来字符串的内容。 ```java public String replaceSpace(StringBuffer str) { int P1 = str.length() - 1; - for (int i = 0; i < P1 + 1; i++) + for (int i = 0; i <= P1; i++) if (str.charAt(i) == ' ') str.append(" "); @@ -385,6 +385,7 @@ private TreeNode reConstructBinaryTree(int[] pre, int preL, int preR, int inL) { ```java public class TreeLinkNode { + int val; TreeLinkNode left = null; TreeLinkNode right = null; @@ -510,6 +511,7 @@ public int Fibonacci(int n) { ```java public class Solution { + private int[] fib = new int[40]; public Solution() { @@ -956,7 +958,7 @@ private void printNumber(char[] number) { ```java public ListNode deleteNode(ListNode head, ListNode tobeDelete) { - if (head == null || head.next == null || tobeDelete == null) + if (head == null || tobeDelete == null) return null; if (tobeDelete.next != null) { // 要删除的节点不是尾节点