diff --git a/code/lc11.java b/code/lc11.java index a7f036a9db75d885f54f7c7107b2c42f73db0762..2657f381e8b169ca8cf38e3b01fb1e47c70f983a 100644 --- a/code/lc11.java +++ b/code/lc11.java @@ -5,6 +5,7 @@ package code; * 难度:Medium * 分类:Array, Two Pointers * Tips:复杂度可以为O(N), 指针往里走, 若值也小了,则面积一定不会增大。和lc42做比较 + * lc11, lc42, lc84 */ public class lc11 { public static void main(String[] args) { diff --git a/code/lc146.java b/code/lc146.java index c100a08d069b74ffd6b96e5f9d8b098df3988936..63f9d7abaec784c8e2fdaf4f47572ed6be2b2cc4 100644 --- a/code/lc146.java +++ b/code/lc146.java @@ -11,7 +11,7 @@ package code; import java.util.HashMap; public class lc146 { - class Node { + class Node { //定义一个Node类 int key; int value; Node pre; @@ -25,8 +25,8 @@ public class lc146 { public class LRUCache { HashMap map; - int capicity, count; - Node head, tail; + int capicity, count; //最大容量,当前容量 + Node head, tail; //头节点,尾节点 public LRUCache(int capacity) { this.capicity = capacity; @@ -40,7 +40,7 @@ public class lc146 { count = 0; } - public void deleteNode(Node node) { + public void deleteNode(Node node) { //两个方法 node.pre.next = node.next; node.next.pre = node.pre; } diff --git a/code/lc322.java b/code/lc322.java index 986c2eab018cd02cbb44e021d79def8577b14c9a..8b2fb52a25be2e3fb9c7c7eb00e1feef48644c06 100644 --- a/code/lc322.java +++ b/code/lc322.java @@ -39,8 +39,8 @@ public class lc322 { public static int coinChange2(int[] coins, int amount) { int max = amount + 1; int[] dp = new int[amount + 1]; - Arrays.fill(dp, max); - dp[0] = 0; + Arrays.fill(dp, max); //表示无解 + dp[0] = 0; //dp[0]=0 不用先把零钱设为1了 for (int i = 1; i <= amount; i++) { for (int j = 0; j < coins.length; j++) { if (coins[j] <= i) { @@ -48,6 +48,6 @@ public class lc322 { } } } - return dp[amount] > amount ? -1 : dp[amount]; + return dp[amount] > amount ? -1 : dp[amount]; //判断一下 } } diff --git a/code/lc42.java b/code/lc42.java index e30d79fc816a28361e71d399657de17664e741aa..7d88179dc96cb5a698c95185be2ca1162a477d9a 100644 --- a/code/lc42.java +++ b/code/lc42.java @@ -8,7 +8,7 @@ import java.util.Stack; * 难度:Hard * 分类:Array, Two Pointers, Stack * 思路:三种方法:1.DP先求出来每个位置的maxleft,maxright,再遍历一遍;2.两个指针,类似lc11题的思路;3.用栈数据结构; - * Tips: + * Tips:lc11, lc42, lc84 */ public class lc42 { public static void main(String[] args) { diff --git a/code/lc84.java b/code/lc84.java index df5eca9775c0196add243221b0dd6059f5dfb8dc..645ee0c22d2f7b641c348b1f7a68cb2cb9cda9be 100644 --- a/code/lc84.java +++ b/code/lc84.java @@ -10,7 +10,7 @@ import java.util.Stack; * 思路:两种方法:1.用dp找到边界,再遍历一遍; 2.用栈,栈内存索引,保证栈内索引对应的高度是递增的,若减了即找到了右边界,出栈开始计算。因为栈内是递增的,左边界就是上个栈内的元素。若栈为空,左边界就是-1。 * Tips:和lc42做比较,都可以用栈或者dp来做. 很难,栈的操作很难想到. * 和lc42 dp作比较 和lc32栈做比较 - * lc85 + * lc11, lc42, lc84 */ public class lc84 { public static void main(String[] args) { diff --git a/readme.md b/readme.md index 5742d87aac84694c9c7252871999d63895e765e0..56bc023939475be0a264b42eb93293231d46b6e9 100644 --- a/readme.md +++ b/readme.md @@ -131,6 +131,7 @@ LeetCode 指南 | 150 [Java](./code/lc150.java) | 151 [Java](./code/lc151.java) | 152 [Java](./code/lc152.java) +| 153 [Java](./code/lc153.java) | 155 [Java](./code/lc155.java) | 160 [Java](./code/lc160.java) | 162 [Java](./code/lc162.java) @@ -144,6 +145,7 @@ LeetCode 指南 | 190 [Java](./code/lc190.java) | 191 [Java](./code/lc191.java) | 198 [Java](./code/lc198.java) +| 199 [Java](./code/lc199.java) | 200 [Java](./code/lc200.java) | 202 [Java](./code/lc202.java) | 204 [Java](./code/lc204.java) @@ -209,6 +211,7 @@ LeetCode 指南 | 448 [Java](./code/lc448.java) | 454 [Java](./code/lc454.java) | 461 [Java](./code/lc461.java) +| 493 [Java](./code/lc493.java) | 494 [Java](./code/lc494.java) | 538 [Java](./code/lc538.java) | 543 [Java](./code/lc543.java) @@ -227,6 +230,7 @@ LeetCode 指南 | 771 [Java](./code/lc771.java) | 834 [Java](./code/lc834.java) | 877 [Java](./code/lc877.java) +| 912 [Java](./code/lc912.java) | 921 [Java](./code/lc921.java) | 922 [Java](./code/lc922.java) | 923 [Java](./code/lc923.java)