diff --git "a/LeetCode/1-10/1. \344\270\244\346\225\260\344\271\213\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/1-10/1. \344\270\244\346\225\260\344\271\213\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" index 63d33541..c826362d 100644 --- "a/LeetCode/1-10/1. \344\270\244\346\225\260\344\271\213\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/1-10/1. \344\270\244\346\225\260\344\271\213\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -13,7 +13,6 @@ Tag : 「哈希表」、「模拟」 你可以按任意顺序返回答案。 示例 1: - ``` 输入:nums = [2,7,11,15], target = 9 输出:[0,1] @@ -21,15 +20,12 @@ Tag : 「哈希表」、「模拟」 ``` 示例 2: - ``` 输入:nums = [3,2,4], target = 6 输出:[1,2] ``` - 示例 3: - ``` 输入:nums = [3,3], target = 6 输出:[0,1] @@ -38,9 +34,9 @@ Tag : 「哈希表」、「模拟」 提示: -* 2 <= nums.length <= $10^3$ -* -$10^9$ <= nums[i] <= $10^9$ -* -$10^9$ <= target <= $10^9$ +* $2 <= nums.length <= 10^3$ +* -$10^9 <= nums[i] <= 10^9$ +* -$10^9 <= target <= 10^9$ * 只会存在一个有效答案 --- @@ -137,7 +133,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1-10/10. \346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\214\271\351\205\215\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1-10/10. \346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\214\271\351\205\215\357\274\210\345\233\260\351\232\276\357\274\211.md" index 8b30eb3c..0cccd60c 100644 --- "a/LeetCode/1-10/10. \346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\214\271\351\205\215\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1-10/10. \346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\214\271\351\205\215\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -129,7 +129,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.10` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.10` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1-10/2. \344\270\244\346\225\260\347\233\270\345\212\240\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1-10/2. \344\270\244\346\225\260\347\233\270\345\212\240\357\274\210\344\270\255\347\255\211\357\274\211.md" index a790a15f..5d41f2e6 100644 --- "a/LeetCode/1-10/2. \344\270\244\346\225\260\347\233\270\345\212\240\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1-10/2. \344\270\244\346\225\260\347\233\270\345\212\240\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -50,7 +50,7 @@ Tag : 「递归」、「链表」、「数学」、「模拟」 做有关链表的题目,有个常用技巧:添加一个虚拟头结点(哨兵),帮助简化边界情况的判断。 代码: -```Java [] +```Java class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode dummy = new ListNode(0); @@ -80,7 +80,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.2` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.2` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1-10/3. \346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1-10/3. \346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" index ca812333..22b69c87 100644 --- "a/LeetCode/1-10/3. \346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1-10/3. \346\227\240\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -55,7 +55,7 @@ Tag : 「哈希表」、「双指针」、「滑动窗口」 此时更新 `start` 的位置(使其右移),直到不满足 `map.get(right) > 1` (代表 `[start,end]` 恢复满足无重复字符的条件)。同时使用 `[start,end]` 长度更新答案。 代码: -```Java [] +```Java class Solution { public int lengthOfLongestSubstring(String s) { Map map = new HashMap<>(); @@ -81,7 +81,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.3` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.3` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1-10/4. \345\257\273\346\211\276\344\270\244\344\270\252\346\255\243\345\272\217\346\225\260\347\273\204\347\232\204\344\270\255\344\275\215\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1-10/4. \345\257\273\346\211\276\344\270\244\344\270\252\346\255\243\345\272\217\346\225\260\347\273\204\347\232\204\344\270\255\344\275\215\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" index 468f834c..4dde44d2 100644 --- "a/LeetCode/1-10/4. \345\257\273\346\211\276\344\270\244\344\270\252\346\255\243\345\272\217\346\225\260\347\273\204\347\232\204\344\270\255\344\275\215\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1-10/4. \345\257\273\346\211\276\344\270\244\344\270\252\346\255\243\345\272\217\346\225\260\347\273\204\347\232\204\344\270\255\344\275\215\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -59,7 +59,7 @@ Tag : 「二分」、「分治」 这样做的目的是为了避免分情况讨论:合并后的数组长度是奇数还是偶数。 -```Java [] +```Java class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int n = nums1.length, m = nums2.length; @@ -99,7 +99,7 @@ class Solution { * 当 `nums1[si - 1] <= nums2[sj - 1]`:则表示第 `k` 小一定不在 `[i,si - 1]` 中,即在 `[si,n]` 或 `[j,m]` 中 -```Java [] +```Java class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int tot = nums1.length + nums2.length; @@ -158,7 +158,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.4` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.4` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1-10/5. \346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1-10/5. \346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" index cd430e8a..6f11adc5 100644 --- "a/LeetCode/1-10/5. \346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1-10/5. \346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -56,7 +56,7 @@ Tag : 「模拟」、「回文串」 * 回文串长度是偶数,则依次判断 `s[i − k] == s[i + k − 1], k = 1,2,3…` 代码: -```Java [] +```Java class Solution { public String longestPalindrome(String s) { String ans = ""; @@ -108,7 +108,7 @@ Manacher 算法较长,为了避免回文串长度奇偶问题的分情况讨 *解释:"aba" 同样是符合题意的答案。* 代码: -```Java [] +```Java class Solution { public String longestPalindrome(String s) { if (s.length() == 1) return s; @@ -171,7 +171,7 @@ class Solution { --- ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.5` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.5` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1-10/7. \346\225\264\346\225\260\345\217\215\350\275\254\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/1-10/7. \346\225\264\346\225\260\345\217\215\350\275\254\357\274\210\347\256\200\345\215\225\357\274\211.md" index 672a5bc7..ef5c5dd1 100644 --- "a/LeetCode/1-10/7. \346\225\264\346\225\260\345\217\215\350\275\254\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/1-10/7. \346\225\264\346\225\260\345\217\215\350\275\254\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -48,7 +48,7 @@ Tag : 「数学」、「模拟」 但由于数据范围过大,使用 int 会有溢出的风险,所以我们使用 long 来进行计算,在返回再转换为 int。 代码: -```Java [] +```Java class Solution { public int reverse(int x) { long ans = 0; @@ -78,7 +78,7 @@ class Solution { * 对于负数而言:溢出意味着 `ans * 10 + x % 10 < Integer.MIN_VALUE`,对等式进行变化后可得 `ans < (Integer.MIN_VALUE - x % 10) / 10)`。所以我们可以根据此变形公式进行预判断 代码: -```Java [] +```Java class Solution { public int reverse(int x) { int ans = 0; @@ -100,7 +100,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.7` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.7` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1-10/8. \345\255\227\347\254\246\344\270\262\350\275\254\346\215\242\346\225\264\346\225\260 (atoi)\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1-10/8. \345\255\227\347\254\246\344\270\262\350\275\254\346\215\242\346\225\264\346\225\260 (atoi)\357\274\210\344\270\255\347\255\211\357\274\211.md" index 67526263..00f05f7a 100644 --- "a/LeetCode/1-10/8. \345\255\227\347\254\246\344\270\262\350\275\254\346\215\242\346\225\264\346\225\260 (atoi)\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1-10/8. \345\255\227\347\254\246\344\270\262\350\275\254\346\215\242\346\225\264\346\225\260 (atoi)\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -122,7 +122,7 @@ Tag : 「模拟」 确定逻辑之后,代码就好写了。 代码: -```Java [] +```Java class Solution { public int myAtoi(String s) { int n = s.length(); @@ -165,7 +165,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.8` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.8` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1-10/9. \345\233\236\346\226\207\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/1-10/9. \345\233\236\346\226\207\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" index c3a18968..5a678119 100644 --- "a/LeetCode/1-10/9. \345\233\236\346\226\207\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/1-10/9. \345\233\236\346\226\207\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -48,7 +48,7 @@ Tag : 「数学」、「回文串」 虽然进阶里提到了不能用字符串来解决,但还是提供一下吧。 代码: -```Java [] +```Java class Solution { public boolean isPalindrome(int x) { String s = String.valueOf(x); @@ -67,7 +67,7 @@ class Solution { 原数值 `x` 的不超过 int 的表示范围,但翻转后的值会有溢出的风险,所以这里使用 `long` 进行接收,最后对比两者是否相等。 代码: -```Java [] +```Java class Solution { public boolean isPalindrome(int x) { if (x < 0) return false; @@ -98,7 +98,7 @@ class Solution { * 回文长度为偶数:回文中心在中间两个数中间,即 `前半部分 == 后半部分(翻转)`。如 123321 代码: -```Java [] +```Java class Solution { public boolean isPalindrome(int x) { // 对于 负数 和 x0、x00、x000 格式的数,直接返回 flase @@ -120,7 +120,7 @@ class Solution { --- ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.9` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.9` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1001-1010/1006. \347\254\250\351\230\266\344\271\230\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1001-1010/1006. \347\254\250\351\230\266\344\271\230\357\274\210\344\270\255\347\255\211\357\274\211.md" index 1f753b62..fb6f9b9c 100644 --- "a/LeetCode/1001-1010/1006. \347\254\250\351\230\266\344\271\230\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1001-1010/1006. \347\254\250\351\230\266\344\271\230\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -76,7 +76,7 @@ Tag : 「数学」、「栈」 代码: -```Java [] +```Java class Solution { public int clumsy(int n) { Deque nums = new ArrayDeque<>(); @@ -127,7 +127,7 @@ class Solution { 通常我们需要先实现一个**可打表的算法(例如上述的解法一,这是为什么掌握「通用表达式」解法具有重要意义)**,将连续数字的答案打印输出,来找找规律: -```Java [] +```Java Solution solution = new Solution(); for (int i = 1; i <= 10000; i++) { int res = solution.clumsy(i); @@ -139,7 +139,7 @@ class Solution { 似乎 $n$ 与 答案比较接近,我们考虑将两者的差值输出: -```Java [] +```Java Solution solution = new Solution(); for (int i = 1; i <= 10000; i++) { int res = solution.clumsy(i); @@ -153,7 +153,7 @@ class Solution { 再修改我们的打表逻辑,来验证一下(只输出与我们猜想不一样的数字): -```Java [] +```Java Solution solution = new Solution(); int[] diff = new int[]{1,2,2,-1}; for (int i = 1; i <= 10000; i++) { @@ -216,7 +216,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1006` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1006` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1011-1020/1011. \345\234\250 D \345\244\251\345\206\205\351\200\201\350\276\276\345\214\205\350\243\271\347\232\204\350\203\275\345\212\233\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1011-1020/1011. \345\234\250 D \345\244\251\345\206\205\351\200\201\350\276\276\345\214\205\350\243\271\347\232\204\350\203\275\345\212\233\357\274\210\344\270\255\347\255\211\357\274\211.md" index 57bd7218..f0227a3a 100644 --- "a/LeetCode/1011-1020/1011. \345\234\250 D \345\244\251\345\206\205\351\200\201\350\276\276\345\214\205\350\243\271\347\232\204\350\203\275\345\212\233\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1011-1020/1011. \345\234\250 D \345\244\251\345\206\205\351\200\201\350\276\276\345\214\205\350\243\271\347\232\204\350\203\275\345\212\233\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -76,7 +76,7 @@ Tag : 「二分」 **由此,我们可以确定二分的范围为 $[max, sum]$。** 代码: -```Java [] +```Java class Solution { public int shipWithinDays(int[] ws, int d) { int max = 0, sum = 0; @@ -123,7 +123,7 @@ class Solution { *PS. 由于二分查找具有折半效率,因此「确立粗略二分范围」不会比「通过循环取得精确二分范围」效率低。* 代码: -```Java [] +```Java class Solution { public int shipWithinDays(int[] ws, int d) { int l = 1, r = (int)1e8; @@ -183,7 +183,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1011` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1011` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1031-1040/1035. \344\270\215\347\233\270\344\272\244\347\232\204\347\272\277\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1031-1040/1035. \344\270\215\347\233\270\344\272\244\347\232\204\347\272\277\357\274\210\344\270\255\347\255\211\357\274\211.md" index 2131dbe2..ba924f17 100644 --- "a/LeetCode/1031-1040/1035. \344\270\215\347\233\270\344\272\244\347\232\204\347\272\277\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1031-1040/1035. \344\270\215\347\233\270\344\272\244\347\232\204\347\272\277\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -88,7 +88,7 @@ $$ 上述分析过程建议加深理解,估计很多同学能 AC 但其实并不知道 LCS 问题的状态转移是包含了「重复状态比较」的。 代码: -```Java [] +```Java class Solution { public int maxUncrossedLines(int[] s1, int[] s2) { int n = s1.length, m = s2.length; @@ -112,7 +112,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1035` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1035` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1041-1050/1047. \345\210\240\351\231\244\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\346\211\200\346\234\211\347\233\270\351\202\273\351\207\215\345\244\215\351\241\271\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/1041-1050/1047. \345\210\240\351\231\244\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\346\211\200\346\234\211\347\233\270\351\202\273\351\207\215\345\244\215\351\241\271\357\274\210\347\256\200\345\215\225\357\274\211.md" index baecd605..8310bc32 100644 --- "a/LeetCode/1041-1050/1047. \345\210\240\351\231\244\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\346\211\200\346\234\211\347\233\270\351\202\273\351\207\215\345\244\215\351\241\271\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/1041-1050/1047. \345\210\240\351\231\244\345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\346\211\200\346\234\211\347\233\270\351\202\273\351\207\215\345\244\215\351\241\271\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -167,7 +167,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1047` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1047` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1041-1050/1049. \346\234\200\345\220\216\344\270\200\345\235\227\347\237\263\345\244\264\347\232\204\351\207\215\351\207\217 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1041-1050/1049. \346\234\200\345\220\216\344\270\200\345\235\227\347\237\263\345\244\264\347\232\204\351\207\215\351\207\217 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index fd939771..2272a116 100644 --- "a/LeetCode/1041-1050/1049. \346\234\200\345\220\216\344\270\200\345\235\227\347\237\263\345\244\264\347\232\204\351\207\215\351\207\217 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1041-1050/1049. \346\234\200\345\220\216\344\270\200\345\235\227\347\237\263\345\244\264\347\232\204\351\207\215\351\207\217 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -110,7 +110,7 @@ $$f[i][j] = \max(f[i - 1][j], f[i - 1][j - stones[i - 1]] + stones[i - 1])$$ 建议直接上手写「一维空间优化」版本,是其他背包问题的基础。 代码: -```Java [] +```Java class Solution { public int lastStoneWeightII(int[] ss) { int n = ss.length; @@ -129,7 +129,7 @@ class Solution { } } ``` -```Java [] +```Java class Solution { public int lastStoneWeightII(int[] ss) { int n = ss.length; @@ -149,7 +149,7 @@ class Solution { } } ``` -```Java [] +```Java class Solution { public int lastStoneWeightII(int[] ss) { int n = ss.length; @@ -174,7 +174,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1049` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1049` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1071-1080/1074. \345\205\203\347\264\240\345\222\214\344\270\272\347\233\256\346\240\207\345\200\274\347\232\204\345\255\220\347\237\251\351\230\265\346\225\260\351\207\217\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1071-1080/1074. \345\205\203\347\264\240\345\222\214\344\270\272\347\233\256\346\240\207\345\200\274\347\232\204\345\255\220\347\237\251\351\230\265\346\225\260\351\207\217\357\274\210\345\233\260\351\232\276\357\274\211.md" index 3bfd2052..be9bb03c 100644 --- "a/LeetCode/1071-1080/1074. \345\205\203\347\264\240\345\222\214\344\270\272\347\233\256\346\240\207\345\200\274\347\232\204\345\255\220\347\237\251\351\230\265\346\225\260\351\207\217\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1071-1080/1074. \345\205\203\347\264\240\345\222\214\344\270\272\347\233\256\346\240\207\345\200\274\347\232\204\345\255\220\347\237\251\351\230\265\346\225\260\351\207\217\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -54,7 +54,7 @@ Tag : 「前缀和」、「哈希表」 数据范围是 $10^2$,对应的计算量是 $10^8$,处于超时边缘,但当我们枚举「矩阵右下角」$(i,j)$ 的时候,我们只需要搜索位于 $(i,j)$ 的左上方的点 $(p,q)$ 作为「矩阵左上角」,所以其实我们是取不满 $m^2 * n^2$ 的,但仍然具有超时风险(2021/05/29 Java 测试可通过)。 代码: -```Java [] +```Java class Solution { public int numSubmatrixSumTarget(int[][] mat, int t) { int n = mat.length, m = mat[0].length; @@ -98,7 +98,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1622250565-sdYzhq-image.png) 代码: -```Java [] +```Java class Solution { public int numSubmatrixSumTarget(int[][] mat, int t) { int n = mat.length, m = mat[0].length; @@ -142,7 +142,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1074` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1074` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/11-20/11. \347\233\233\346\234\200\345\244\232\346\260\264\347\232\204\345\256\271\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/11-20/11. \347\233\233\346\234\200\345\244\232\346\260\264\347\232\204\345\256\271\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" index a6850344..f5ac7b14 100644 --- "a/LeetCode/11-20/11. \347\233\233\346\234\200\345\244\232\346\260\264\347\232\204\345\256\271\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/11-20/11. \347\233\233\346\234\200\345\244\232\346\260\264\347\232\204\345\256\271\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -53,7 +53,7 @@ Tag : 「双指针」、「贪心」 然后再记录枚举过程中的最大面积即可: 代码: -```Java [] +```Java class Solution { public int maxArea(int[] height) { int n = height.length; @@ -96,7 +96,7 @@ class Solution { 综上所述,我们只有将高度小的指针往内移动,才会枚举到更大的面积: 代码: -```Java [] +```Java class Solution { public int maxArea(int[] height) { int n = height.length; @@ -120,7 +120,7 @@ class Solution { --- ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.11` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.11` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/11-20/12. \346\225\264\346\225\260\350\275\254\347\275\227\351\251\254\346\225\260\345\255\227\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/11-20/12. \346\225\264\346\225\260\350\275\254\347\275\227\351\251\254\346\225\260\345\255\227\357\274\210\344\270\255\347\255\211\357\274\211.md" index 45bb36d8..e4f4585c 100644 --- "a/LeetCode/11-20/12. \346\225\264\346\225\260\350\275\254\347\275\227\351\251\254\346\225\260\345\255\227\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/11-20/12. \346\225\264\346\225\260\350\275\254\347\275\227\351\251\254\346\225\260\345\255\227\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -71,7 +71,7 @@ M 1000 然后从左到右构建罗马数字,优先构建数值高的罗马字符(如果有足够的分值,尽量尝试构建 "M",直到分值不够,再尽量尝试构建 "CM" ... ) 代码: -```Java [] +```Java class Solution { int[] val = new int[]{1000,900,500,400,100,90,50,40,10,9,5,4,1}; String[] str = new String[]{"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; @@ -96,7 +96,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.12` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.12` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/11-20/13. \347\275\227\351\251\254\346\225\260\345\255\227\350\275\254\346\225\264\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/11-20/13. \347\275\227\351\251\254\346\225\260\345\255\227\350\275\254\346\225\264\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" index 338dfdbb..9416ec6c 100644 --- "a/LeetCode/11-20/13. \347\275\227\351\251\254\346\225\260\345\255\227\350\275\254\346\225\264\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/11-20/13. \347\275\227\351\251\254\346\225\260\345\255\227\350\275\254\346\225\264\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -74,7 +74,7 @@ M 1000 然后从左到右匹配罗马数字,优先匹配数值高的罗马字符即可。 代码: -```Java [] +```Java class Solution { int[] val = new int[]{1000,900,500,400,100,90,50,40,10,9,5,4,1}; String[] str = new String[]{"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; @@ -101,7 +101,7 @@ class Solution { --- ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.13` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.13` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/11-20/14. \346\234\200\351\225\277\345\205\254\345\205\261\345\211\215\347\274\200\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/11-20/14. \346\234\200\351\225\277\345\205\254\345\205\261\345\211\215\347\274\200\357\274\210\347\256\200\345\215\225\357\274\211.md" index f9b73e12..698799fc 100644 --- "a/LeetCode/11-20/14. \346\234\200\351\225\277\345\205\254\345\205\261\345\211\215\347\274\200\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/11-20/14. \346\234\200\351\225\277\345\205\254\345\205\261\345\211\215\347\274\200\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -35,7 +35,7 @@ Tag : 「模拟」 对每个字符串进行逐位检查,直到不满足公共前缀。 代码: -```Java [] +```Java class Solution { public String longestCommonPrefix(String[] ss) { String ans = ""; @@ -60,7 +60,7 @@ class Solution { --- ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.14` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.14` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/11-20/15. \344\270\211\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/11-20/15. \344\270\211\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" index 09e80ffa..89a26bf1 100644 --- "a/LeetCode/11-20/15. \344\270\211\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/11-20/15. \344\270\211\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -48,7 +48,7 @@ Tag : 「双指针」、「排序」、「n 数之和」 由于题目要求答案不能包含重复的三元组,所以在确定第一个数和第二个数的时候,要跳过数值一样的下标(在三数之和确定的情况下,确保第一个数和第二个数不会重复,即可保证三元组不重复)。 代码: -```Java [] +```Java class Solution { public List> threeSum(int[] nums) { Arrays.sort(nums); @@ -81,7 +81,7 @@ class Solution { --- ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.15` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.15` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/11-20/16. \346\234\200\346\216\245\350\277\221\347\232\204\344\270\211\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/11-20/16. \346\234\200\346\216\245\350\277\221\347\232\204\344\270\211\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" index 3dc3e50e..b6cb5487 100644 --- "a/LeetCode/11-20/16. \346\234\200\346\216\245\350\277\221\347\232\204\344\270\211\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/11-20/16. \346\234\200\346\216\245\350\277\221\347\232\204\344\270\211\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -49,7 +49,7 @@ Tag : 「双指针」、「排序」、「n 数之和」 为了更快找到答案,对于相同的 `i`,可以直接跳过下标。 代码: -```Java [] +```Java class Solution { public int threeSumClosest(int[] nums, int t) { Arrays.sort(nums); @@ -80,7 +80,7 @@ class Solution { --- ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.16` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.16` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/11-20/17. \347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/11-20/17. \347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210\357\274\210\344\270\255\347\255\211\357\274\211.md" index 1732e036..20681d4d 100644 --- "a/LeetCode/11-20/17. \347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/11-20/17. \347\224\265\350\257\235\345\217\267\347\240\201\347\232\204\345\255\227\346\257\215\347\273\204\345\220\210\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -49,7 +49,7 @@ Tag : 「DFS」、「回溯算法」 在 DFS 中决策每一位数字应该对应哪一个字母,当决策的位数 `i == n`,代表整个 `ds` 字符串都被决策完毕,将决策结果添加到结果集: 代码: -```Java [] +```Java class Solution { Map map = new HashMap<>(){{ put("2", new String[]{"a", "b", "c"}); @@ -91,7 +91,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.17` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.17` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/11-20/18. \345\233\233\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/11-20/18. \345\233\233\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" index 819b7279..3c13d9cd 100644 --- "a/LeetCode/11-20/18. \345\233\233\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/11-20/18. \345\233\233\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -50,7 +50,7 @@ Tag : 「双指针」、「排序」、「n 数之和」 题目要求不能包含重复元素,所以我们要对 `i`、`j` 和 `k` 进行去重,去重逻辑是对于相同的数,只使用第一个。 代码: -```Java [] +```Java class Solution { public List> fourSum(int[] nums, int t) { Arrays.sort(nums); @@ -91,7 +91,7 @@ class Solution { --- ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.18` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.18` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/11-20/19. \345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254 N \344\270\252\347\273\223\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/11-20/19. \345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254 N \344\270\252\347\273\223\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" index 11c21bba..40e92e25 100644 --- "a/LeetCode/11-20/19. \345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254 N \344\270\252\347\273\223\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/11-20/19. \345\210\240\351\231\244\351\223\276\350\241\250\347\232\204\345\200\222\346\225\260\347\254\254 N \344\270\252\347\273\223\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -57,7 +57,7 @@ Tag : 「链表」、「快慢指针」、「双指针」 但这里有一个需要注意的边界情况是:如果链表的长度是 `L`,而我们恰好要删除的是倒数第 `L` 个节点(删除头节点),这时候 `fast` 往前走 `n` 步之后会变为 null,此时我们只需要让 `head = slow.next` 即可删除。 代码: -```Java [] +```Java class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { if (head.next == null) return null; @@ -86,7 +86,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.19` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.19` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/11-20/20. \346\234\211\346\225\210\347\232\204\346\213\254\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/11-20/20. \346\234\211\346\225\210\347\232\204\346\213\254\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" index 35019948..56eb6801 100644 --- "a/LeetCode/11-20/20. \346\234\211\346\225\210\347\232\204\346\213\254\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/11-20/20. \346\234\211\346\225\210\347\232\204\346\213\254\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -62,7 +62,7 @@ Tag : 「栈」、「有效括号」 不难发现可以直接使用 `栈` 来解决: 代码: -```Java [] +```Java class Solution { HashMap map = new HashMap(){{ put(']', '['); @@ -107,7 +107,7 @@ class Solution { 利用此特性,我们可以节省一个哈希表: 代码: -```Java [] +```Java class Solution { public boolean isValid(String s) { Deque d = new ArrayDeque<>(); @@ -135,7 +135,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.20` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.20` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/111-120/115. \344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/111-120/115. \344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227\357\274\210\345\233\260\351\232\276\357\274\211.md" index 7bb5d73f..29a973c8 100644 --- "a/LeetCode/111-120/115. \344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/111-120/115. \344\270\215\345\220\214\347\232\204\345\255\220\345\272\217\345\210\227\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -137,7 +137,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.115` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.115` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/111-120/119. \346\235\250\350\276\211\344\270\211\350\247\222 II\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/111-120/119. \346\235\250\350\276\211\344\270\211\350\247\222 II\357\274\210\347\256\200\345\215\225\357\274\211.md" index feaac7b0..d14b64fd 100644 --- "a/LeetCode/111-120/119. \346\235\250\350\276\211\344\270\211\350\247\222 II\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/111-120/119. \346\235\250\350\276\211\344\270\211\350\247\222 II\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -103,7 +103,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.119` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.119` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1131-1140/1137. \347\254\254 N \344\270\252\346\263\260\346\263\242\351\202\243\345\245\221\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/1131-1140/1137. \347\254\254 N \344\270\252\346\263\260\346\263\242\351\202\243\345\245\221\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" index 8e598130..4ea72016 100644 --- "a/LeetCode/1131-1140/1137. \347\254\254 N \344\270\252\346\263\260\346\263\242\351\202\243\345\245\221\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/1131-1140/1137. \347\254\254 N \344\270\252\346\263\260\346\263\242\351\202\243\345\245\221\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -286,11 +286,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1035` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1035` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1141-1150/1143. \346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1141-1150/1143. \346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" index e180f4e1..b4398e20 100644 --- "a/LeetCode/1141-1150/1143. \346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1141-1150/1143. \346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -64,7 +64,7 @@ Tag : 「最长公共子序列」、「LCS」、「序列 DP」 通常我会习惯性往字符串头部追加一个空格,以减少边界判断(使下标从 1 开始,并很容易构造出可滚动的「有效值」)。 代码: -```Java [] +```Java class Solution { public int longestCommonSubsequence(String s1, String s2) { int n = s1.length(), m = s2.length(); @@ -111,7 +111,7 @@ class Solution { * `s1[i-1]!=s2[j-1]` : $f[i][j]=max(f[i-1][j], f[i][j-1])$。代表不使用 $s1[i-1]$ 形成最长公共子序列的长度、不使用 $s2[j-1]$ 形成最长公共子序列的长度。这两种情况中的最大值。 代码: -```Java [] +```Java class Solution { public int longestCommonSubsequence(String s1, String s2) { int n = s1.length(), m = s2.length(); @@ -137,10 +137,10 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1143` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1143` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1161-1170/1162. \345\234\260\345\233\276\345\210\206\346\236\220\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1161-1170/1162. \345\234\260\345\233\276\345\210\206\346\236\220\357\274\210\344\270\255\347\255\211\357\274\211.md" index 0aa64665..f3951c6b 100644 --- "a/LeetCode/1161-1170/1162. \345\234\260\345\233\276\345\210\206\346\236\220\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1161-1170/1162. \345\234\260\345\233\276\345\210\206\346\236\220\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -56,7 +56,7 @@ PS. 数据范围为 $10^2$,理论上是一定会超时,但本题数据较弱 一些细节:为了方便,我们在使用哈希表记录距离时,将二维坐标 $(x, y)$ 转化为对应的一维下标 $idx = x * n + y$ 作为 key 进行存储。 代码: -```Java [] +```Java class Solution { int n; int[][] grid; @@ -185,7 +185,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1162` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1162` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1171-1180/1178. \347\214\234\345\255\227\350\260\234\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1171-1180/1178. \347\214\234\345\255\227\350\260\234\357\274\210\345\233\260\351\232\276\357\274\211.md" index fdfe9b89..4c7ca371 100644 --- "a/LeetCode/1171-1180/1178. \347\214\234\345\255\227\350\260\234\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1171-1180/1178. \347\214\234\345\255\227\350\260\234\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -224,7 +224,7 @@ a += 1 << b 代表将 a 的第 b 位设置为 1 (当第 b 位为 0 的时候适 ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1178` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1178` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1181-1190/1190. \345\217\215\350\275\254\346\257\217\345\257\271\346\213\254\345\217\267\351\227\264\347\232\204\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1181-1190/1190. \345\217\215\350\275\254\346\257\217\345\257\271\346\213\254\345\217\267\351\227\264\347\232\204\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" index e5e34d1a..bbb5b3b7 100644 --- "a/LeetCode/1181-1190/1190. \345\217\215\350\275\254\346\257\217\345\257\271\346\213\254\345\217\267\351\227\264\347\232\204\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1181-1190/1190. \345\217\215\350\275\254\346\257\217\345\257\271\346\213\254\345\217\267\351\227\264\347\232\204\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -64,7 +64,7 @@ Tag : 「双端队列」、「栈」 代码: -```Java [] +```Java class Solution { public String reverseParentheses(String s) { int n = s.length(); @@ -105,7 +105,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1621993297-rtTfzz-image.png) 代码: -```Java [] +```Java class Solution { char[] deque = new char[2009]; int head = 0, tail = -1; @@ -146,11 +146,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1190` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1190` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1201-1210/1208. \345\260\275\345\217\257\350\203\275\344\275\277\345\255\227\347\254\246\344\270\262\347\233\270\347\255\211\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1201-1210/1208. \345\260\275\345\217\257\350\203\275\344\275\277\345\255\227\347\254\246\344\270\262\347\233\270\347\255\211\357\274\210\344\270\255\347\255\211\357\274\211.md" index 87c49bfd..5ccca8f0 100644 --- "a/LeetCode/1201-1210/1208. \345\260\275\345\217\257\350\203\275\344\275\277\345\255\227\347\254\246\344\270\262\347\233\270\347\255\211\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1201-1210/1208. \345\260\275\345\217\257\350\203\275\344\275\277\345\255\227\347\254\246\344\270\262\347\233\270\347\255\211\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -93,7 +93,7 @@ Tag : 「前缀和」、「二分」、「滑动窗口」 2. 二分出来滑动窗口长度,需要在返回时再次检查,因为可能没有符合条件的有效滑动窗口长度 代码: -```Java [] +```Java class Solution { public int equalSubstring(String ss, String tt, int max) { int n = ss.length(); @@ -130,11 +130,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1208` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1208` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/121-130/127. \345\215\225\350\257\215\346\216\245\351\276\231\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/121-130/127. \345\215\225\350\257\215\346\216\245\351\276\231\357\274\210\345\233\260\351\232\276\357\274\211.md" index 7d913985..0784ad49 100644 --- "a/LeetCode/121-130/127. \345\215\225\350\257\215\346\216\245\351\276\231\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/121-130/127. \345\215\225\350\257\215\346\216\245\351\276\231\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -89,7 +89,7 @@ Tag : 「双向 BFS」 「双向 BFS」基本思路对应的伪代码大致如下: -```Java [] +```Java d1、d2 为两个方向的队列 m1、m2 为两个方向的哈希表,记录每个节点距离起点的 @@ -115,7 +115,7 @@ void update(Deque d, Map cur, Map other) {} 代码: -```Java [] +```Java class Solution { String s, e; Set set = new HashSet<>(); @@ -226,7 +226,7 @@ class Solution { 注意:本题数据比较弱,用 A* 过了,但通常我们需要「确保有解」,A* 的启发搜索才会发挥真正价值。而本题,除非 `endWord` 本身就不在 `wordList` 中,其余情况我们无法很好提前判断「是否有解」。这时候 A* 将不能带来「搜索空间的优化」,效果不如「双向 BFS」。 代码: -```Java [] +```Java class Solution { class Node { String str; @@ -290,7 +290,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.127` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.127` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1231-1240/1239. \344\270\262\350\201\224\345\255\227\347\254\246\344\270\262\347\232\204\346\234\200\345\244\247\351\225\277\345\272\246\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1231-1240/1239. \344\270\262\350\201\224\345\255\227\347\254\246\344\270\262\347\232\204\346\234\200\345\244\247\351\225\277\345\272\246\357\274\210\344\270\255\347\255\211\357\274\211.md" index 82ea148b..25a3a568 100644 --- "a/LeetCode/1231-1240/1239. \344\270\262\350\201\224\345\255\227\347\254\246\344\270\262\347\232\204\346\234\200\345\244\247\351\225\277\345\272\246\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1231-1240/1239. \344\270\262\350\201\224\345\255\227\347\254\246\344\270\262\347\232\204\346\234\200\345\244\247\351\225\277\345\272\246\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -75,7 +75,7 @@ Tag : 「DFS」、「二进制枚举」、「模拟退火」 ![image.png](https://pic.leetcode-cn.com/1624068553-ggjqyc-image.png) 代码: -```Java [] +```Java class Solution { // 本来想使用如下逻辑将「所有可能用到的状态」打表,实现 O(1) 查询某个状态有多少个字符,但是被卡了 // static int N = 26, M = (1 << N); @@ -163,7 +163,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1624066961-hQLRLR-image.png) 代码: -```Java [] +```Java class Solution { static Map map = new HashMap<>(); int get(int cur) { @@ -245,7 +245,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1624067037-soNiWI-image.png) 代码: -```Java [] +```Java class Solution { static Map map = new HashMap<>(); int get(int cur) { @@ -333,7 +333,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1239` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1239` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1261-1270/1269. \345\201\234\345\234\250\345\216\237\345\234\260\347\232\204\346\226\271\346\241\210\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1261-1270/1269. \345\201\234\345\234\250\345\216\237\345\234\260\347\232\204\346\226\271\346\241\210\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" index 82710745..ef146f39 100644 --- "a/LeetCode/1261-1270/1269. \345\201\234\345\234\250\345\216\237\345\234\260\347\232\204\346\226\271\346\241\210\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1261-1270/1269. \345\201\234\345\234\250\345\216\237\345\234\260\347\232\204\346\226\271\346\241\210\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -72,7 +72,7 @@ Tag : 「线性 DP」 同时我们根据「最终回到下标 $0$ 位置」可以推断出,最远到达的位置为 $step / 2$(再远就回不来了)。将最远到达位置与数组最大下标取 $min$ 即可确定维度 $step$ 的范围。 代码: -```Java [] +```Java class Solution { int mod = (int)1e9+7; public int numWays(int steps, int len) { @@ -110,7 +110,7 @@ $f[0][0]$ 并不依赖于操作次数同为 $0$ 的其他位置的状态,而 ![image.png](https://pic.leetcode-cn.com/1620871920-RPLLLz-image.png) 代码: -```Java [] +```Java class Solution { int mod = (int)1e9+7; public int numWays(int steps, int len) { @@ -140,7 +140,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1620871818-LnzPIh-image.png) 代码: -```Java [] +```Java class Solution { int mod = (int)1e9+7; public int numWays(int steps, int len) { @@ -168,11 +168,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1269` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1269` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1301-1310/1310. \345\255\220\346\225\260\347\273\204\345\274\202\346\210\226\346\237\245\350\257\242\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1301-1310/1310. \345\255\220\346\225\260\347\273\204\345\274\202\346\210\226\346\237\245\350\257\242\357\274\210\344\270\255\347\255\211\357\274\211.md" index add4204a..65a9b5f4 100644 --- "a/LeetCode/1301-1310/1310. \345\255\220\346\225\260\347\273\204\345\274\202\346\210\226\346\237\245\350\257\242\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1301-1310/1310. \345\255\220\346\225\260\347\273\204\345\274\202\346\210\226\346\237\245\350\257\242\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -85,7 +85,7 @@ $$ 使用「树状数组」分段记录我们某些区间的「异或结果」,再根据 `queries` 中的询问将分段「异或结果」汇总(执行异或运算),得出最终答案。 代码: -```Java [] +```Java class Solution { int n; int[] c = new int[100009]; @@ -125,7 +125,7 @@ class Solution { 虽说「树状数组」也有 $O(n)$ 的创建方式,但这里使用「前缀异或」主要是为了降低查询的复杂度。 代码: -```Java [] +```Java class Solution { public int[] xorQueries(int[] arr, int[][] qs) { int n = arr.length, m = qs.length; @@ -147,11 +147,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1310` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1310` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/131-140/131. \345\210\206\345\211\262\345\233\236\346\226\207\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/131-140/131. \345\210\206\345\211\262\345\233\236\346\226\207\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" index ceaa34d8..fdf5a58d 100644 --- "a/LeetCode/131-140/131. \345\210\206\345\211\262\345\233\236\346\226\207\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/131-140/131. \345\210\206\345\211\262\345\233\236\346\226\207\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -205,7 +205,7 @@ void dfs(选择列表, 路径(当前结果), 结果集) { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.131` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.131` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/131-140/132. \345\210\206\345\211\262\345\233\236\346\226\207\344\270\262 II\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/131-140/132. \345\210\206\345\211\262\345\233\236\346\226\207\344\270\262 II\357\274\210\345\233\260\351\232\276\357\274\211.md" index 6bddf600..2a49b53f 100644 --- "a/LeetCode/131-140/132. \345\210\206\345\211\262\345\233\236\346\226\207\344\270\262 II\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/131-140/132. \345\210\206\345\211\262\345\233\236\346\226\207\344\270\262 II\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -76,7 +76,7 @@ Tag : 「回文串」、「线性 DP」 因此最终的遍历过程可以整理为:**右端点 $r$ 一直往右移动(从小到大),在 $r$ 固定情况下,左端点 $l$ 在 $r$ 在左边开始,一直往左移动(从大到小)** 代码: -```Java [] +```Java class Solution { public int minCut(String s) { int n = s.length(); @@ -160,7 +160,7 @@ DP 的状态定义,基本上是考经验的(猜的),猜对了 DP 的状 ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.132` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.132` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/131-140/134. \345\212\240\346\262\271\347\253\231\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/131-140/134. \345\212\240\346\262\271\347\253\231\357\274\210\344\270\255\347\255\211\357\274\211.md" index d0cc0ec7..caf7357b 100644 --- "a/LeetCode/131-140/134. \345\212\240\346\262\271\347\253\231\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/131-140/134. \345\212\240\346\262\271\347\253\231\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -195,7 +195,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.134` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.134` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/131-140/137. \345\217\252\345\207\272\347\216\260\344\270\200\346\254\241\347\232\204\346\225\260\345\255\227 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/131-140/137. \345\217\252\345\207\272\347\216\260\344\270\200\346\254\241\347\232\204\346\225\260\345\255\227 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index 8e00b5f8..1fc5557c 100644 --- "a/LeetCode/131-140/137. \345\217\252\345\207\272\347\216\260\344\270\200\346\254\241\347\232\204\346\225\260\345\255\227 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/131-140/137. \345\217\252\345\207\272\347\216\260\344\270\200\346\254\241\347\232\204\346\225\260\345\255\227 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -44,7 +44,7 @@ Tag : 「哈希表」、「位运算」 哈希表以「数值 : 数值出现次数」形式进行存储。 代码: -```Java [] +```Java class Solution { public int singleNumber(int[] nums) { Map map = new HashMap<>(); @@ -74,7 +74,7 @@ class Solution { 举个 🌰,考虑样例 `[1,1,1,3]`,$1$ 和 $3$ 对应的二进制表示分别是 `00..001` 和 `00..011`,存入 $cnt[]$ 数组后得到 `[0,0,...,0,1,4]`。进行 $mod$ $3$ 操作后得到 `[0,0,...,0,1,1]`,再转为十进制数字即可得「只出现一次」的答案 $3$。 代码: -```Java [] +```Java class Solution { public int singleNumber(int[] nums) { int[] cnt = new int[32]; @@ -122,7 +122,7 @@ class Solution { 代码: -```Java [] +```Java class Solution { public int singleNumber(int[] nums) { int one = 0, two = 0; @@ -142,7 +142,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.137` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.137` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/131-140/138. \345\244\215\345\210\266\345\270\246\351\232\217\346\234\272\346\214\207\351\222\210\347\232\204\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/131-140/138. \345\244\215\345\210\266\345\270\246\351\232\217\346\234\272\346\214\207\351\222\210\347\232\204\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" index dfd75d60..e9ae14e7 100644 --- "a/LeetCode/131-140/138. \345\244\215\345\210\266\345\270\246\351\232\217\346\234\272\346\214\207\351\222\210\347\232\204\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/131-140/138. \345\244\215\345\210\266\345\270\246\351\232\217\346\234\272\346\214\207\351\222\210\347\232\204\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -153,7 +153,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.138` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.138` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/141-150/146. LRU \347\274\223\345\255\230\346\234\272\345\210\266\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/141-150/146. LRU \347\274\223\345\255\230\346\234\272\345\210\266\357\274\210\344\270\255\347\255\211\357\274\211.md" index 8f5246eb..717c775f 100644 --- "a/LeetCode/141-150/146. LRU \347\274\223\345\255\230\346\234\272\345\210\266\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/141-150/146. LRU \347\274\223\345\255\230\346\234\272\345\210\266\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -85,7 +85,7 @@ LRU 是一种十分常见的页面置换算法。 一些细节: 为了减少双向链表左右节点的「判空」操作,我们预先建立两个「哨兵」节点 `head` 和 `tail`。 代码: -```Java [] +```Java class LRUCache { class Node { int k, v; diff --git "a/LeetCode/141-150/149. \347\233\264\347\272\277\344\270\212\346\234\200\345\244\232\347\232\204\347\202\271\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/141-150/149. \347\233\264\347\272\277\344\270\212\346\234\200\345\244\232\347\232\204\347\202\271\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" index 197be195..a7e1adf3 100644 --- "a/LeetCode/141-150/149. \347\233\264\347\272\277\344\270\212\346\234\200\345\244\232\347\232\204\347\202\271\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/141-150/149. \347\233\264\347\272\277\344\270\212\346\234\200\345\244\232\347\232\204\347\202\271\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -37,7 +37,7 @@ Tag : 「数学」、「枚举」、「哈希表」 为了避免除法精度问题,当我们枚举两个点 $i$ 和 $j$ 时,不直接计算其对应直线的 `斜率`和 `截距`,而是通过判断 $i$ 和 $j$ 与第三个点 $k$ 形成的两条直线斜率是否相等(斜率相等的两条直线要么平行,要么重合,平行需要 $4$ 个点来唯一确定,我们只有 $3$ 个点,所以可以直接判定两直线重合)。 代码: -```Java [] +```Java class Solution { public int maxPoints(int[][] ps) { int n = ps.length; @@ -74,7 +74,7 @@ class Solution { 一些细节:在使用「哈希表」进行保存时,为了避免精度问题,我们直接使用字符串进行保存,同时需要将 `斜率` 约干净。 代码: -```Java [] +```Java class Solution { public int maxPoints(int[][] ps) { int n = ps.length; @@ -107,7 +107,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.149` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.149` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/141-150/150. \351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/141-150/150. \351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" index 8bbb166f..8c2fdc52 100644 --- "a/LeetCode/141-150/150. \351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/141-150/150. \351\200\206\346\263\242\345\205\260\350\241\250\350\276\276\345\274\217\346\261\202\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -158,7 +158,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.150` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.150` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1411-1420/1418. \347\202\271\350\217\234\345\261\225\347\244\272\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1411-1420/1418. \347\202\271\350\217\234\345\261\225\347\244\272\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" index e237d3c1..4a1b3abb 100644 --- "a/LeetCode/1411-1420/1418. \347\202\271\350\217\234\345\261\225\347\244\272\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1411-1420/1418. \347\202\271\350\217\234\345\261\225\347\244\272\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -81,7 +81,7 @@ Table,Beef Burrito,Ceviche,Fried Chicken,Water ![image.png](https://pic.leetcode-cn.com/1625535289-eUEXyV-image.png) 代码: -```Java [] +```Java class Solution { public List> displayTable(List> os) { List> ans = new ArrayList<>(); @@ -141,7 +141,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1625535513-nICkxo-image.png) 代码: -```Java [] +```Java class Solution { public List> displayTable(List> os) { List> ans = new ArrayList<>(); diff --git "a/LeetCode/1421-1430/1423. \345\217\257\350\216\267\345\276\227\347\232\204\346\234\200\345\244\247\347\202\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1421-1430/1423. \345\217\257\350\216\267\345\276\227\347\232\204\346\234\200\345\244\247\347\202\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index 9e15973f..7a286de5 100644 --- "a/LeetCode/1421-1430/1423. \345\217\257\350\216\267\345\276\227\347\232\204\346\234\200\345\244\247\347\202\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1421-1430/1423. \345\217\257\350\216\267\345\276\227\347\232\204\346\234\200\345\244\247\347\202\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -82,7 +82,7 @@ Tag : 「滑动窗口」 2. 继续滑动窗口,每往前滑动一次,需要删除一个和添加一个元素 代码: -```Java [] +```Java class Solution { public int maxScore(int[] nums, int k) { int n = nums.length, len = n - k; @@ -105,11 +105,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1423` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1423` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1431-1440/1438. \347\273\235\345\257\271\345\267\256\344\270\215\350\266\205\350\277\207\351\231\220\345\210\266\347\232\204\346\234\200\351\225\277\350\277\236\347\273\255\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1431-1440/1438. \347\273\235\345\257\271\345\267\256\344\270\215\350\266\205\350\277\207\351\231\220\345\210\266\347\232\204\346\234\200\351\225\277\350\277\236\347\273\255\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" index 4f21a6fd..685f56e6 100644 --- "a/LeetCode/1431-1440/1438. \347\273\235\345\257\271\345\267\256\344\270\215\350\266\205\350\277\207\351\231\220\345\210\266\347\232\204\346\234\200\351\225\277\350\277\236\347\273\255\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1431-1440/1438. \347\273\235\345\257\271\345\267\256\344\270\215\350\266\205\350\277\207\351\231\220\345\210\266\347\232\204\346\234\200\351\225\277\350\277\236\347\273\255\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -111,7 +111,7 @@ class Solution { 同时,还是使用「单调队列」保存我们的区间最值,这样我们只需要对数组进行一次扫描即可得到答案。 -```Java [] +```Java class Solution { public int longestSubarray(int[] nums, int limit) { int n = nums.length; @@ -140,7 +140,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1438` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1438` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1441-1450/1442. \345\275\242\346\210\220\344\270\244\344\270\252\345\274\202\346\210\226\347\233\270\347\255\211\346\225\260\347\273\204\347\232\204\344\270\211\345\205\203\347\273\204\346\225\260\347\233\256\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1441-1450/1442. \345\275\242\346\210\220\344\270\244\344\270\252\345\274\202\346\210\226\347\233\270\347\255\211\346\225\260\347\273\204\347\232\204\344\270\211\345\205\203\347\273\204\346\225\260\347\233\256\357\274\210\344\270\255\347\255\211\357\274\211.md" index 143158ce..b9de6fc2 100644 --- "a/LeetCode/1441-1450/1442. \345\275\242\346\210\220\344\270\244\344\270\252\345\274\202\346\210\226\347\233\270\347\255\211\346\225\260\347\273\204\347\232\204\344\270\211\345\205\203\347\273\204\346\225\260\347\233\256\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1441-1450/1442. \345\275\242\346\210\220\344\270\244\344\270\252\345\274\202\346\210\226\347\233\270\347\255\211\346\225\260\347\273\204\347\232\204\344\270\211\345\205\203\347\273\204\346\225\260\347\233\256\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -75,7 +75,7 @@ a 和 b 定义如下: **本质上是利用集合(区间结果)的容斥原理。只不过前缀和需要利用「减法(逆运算)」做容斥,而前缀异或是利用「相同数值进行异或结果为 $0$(偶数次的异或结果为 $0$)」的特性实现容斥。** 代码: -```Java [] +```Java class Solution { public int countTriplets(int[] arr) { int n = arr.length; @@ -117,7 +117,7 @@ $$Xor(i, k) = sum[k] ⊕ sum[i - 1] = 0$$ 需要注意的是,因为我们「前缀异或」数组的下标是从 $1$ 开始,所以我们需要先往「哈希表」存入一个哨兵 $0$ 作为边界,当然这一步不需要特殊操作,只需要让 $k$ 从 $0$ 开始执行循环即可(利用「前缀异或」数组中下标 $0$ 的值本身为 $0$)。 代码: -```Java [] +```Java class Solution { public int countTriplets(int[] arr) { int n = arr.length; @@ -140,7 +140,7 @@ class Solution { } } ``` -```Java [] +```Java class Solution { public int countTriplets(int[] arr) { int n = arr.length; @@ -168,11 +168,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1442` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1442` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1441-1450/1446. \350\277\236\347\273\255\345\255\227\347\254\246\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/1441-1450/1446. \350\277\236\347\273\255\345\255\227\347\254\246\357\274\210\347\256\200\345\215\225\357\274\211.md" index b499a9d2..d0f8f81b 100644 --- "a/LeetCode/1441-1450/1446. \350\277\236\347\273\255\345\255\227\347\254\246\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/1441-1450/1446. \350\277\236\347\273\255\345\255\227\347\254\246\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -79,7 +79,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1441-1450/1449. \346\225\260\344\275\215\346\210\220\346\234\254\345\222\214\344\270\272\347\233\256\346\240\207\345\200\274\347\232\204\346\234\200\345\244\247\346\225\260\345\255\227\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1441-1450/1449. \346\225\260\344\275\215\346\210\220\346\234\254\345\222\214\344\270\272\347\233\256\346\240\207\345\200\274\347\232\204\346\234\200\345\244\247\346\225\260\345\255\227\357\274\210\345\233\260\351\232\276\357\274\211.md" index 21ee29a2..f50e1939 100644 --- "a/LeetCode/1441-1450/1449. \346\225\260\344\275\215\346\210\220\346\234\254\345\222\214\344\270\272\347\233\256\346\240\207\345\200\274\347\232\204\346\234\200\345\244\247\346\225\260\345\255\227\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1441-1450/1449. \346\225\260\344\275\215\346\210\220\346\234\254\345\222\214\344\270\272\347\233\256\346\240\207\345\200\274\347\232\204\346\234\200\345\244\247\346\225\260\345\255\227\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -85,7 +85,7 @@ Tag : 「完全背包」、「背包问题」、「动态规划」 *PS. 写了几天两维版本了,大家应该都掌握了叭,今天赶着出门,直接写一维。* 代码: -```Java [] +```Java class Solution { public String largestNumber(int[] cost, int t) { int[] f = new int[t + 1]; @@ -144,7 +144,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1449` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1449` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1471-1480/1473. \347\262\211\345\210\267\346\210\277\345\255\220 III\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1471-1480/1473. \347\262\211\345\210\267\346\210\277\345\255\220 III\357\274\210\345\233\260\351\232\276\357\274\211.md" index 401cdcc9..3150324e 100644 --- "a/LeetCode/1471-1480/1473. \347\262\211\345\210\267\346\210\277\345\255\220 III\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1471-1480/1473. \347\262\211\345\210\267\346\210\277\345\255\220 III\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -100,7 +100,7 @@ Tag : 「动态规划」、「序列 DP」 * 将 `0x3f3f3f3f` 作为 `INF`:因为目标是求最小值,我们应当使用一个较大值充当正无穷,来关联无效状态。同时为了确保不会出现「在正无穷基础上累加导致丢失正无穷含义」的歧义情况,我们可以使用一个有「累加空间」的值作为「正无穷」(这个问题刚好最近在 [这里](https://mp.weixin.qq.com/s?__biz=MzU4NDE3MTEyMA==&mid=2247486435&idx=1&sn=2464b01e9c0fb8d81fcea6dd4ed0ec92&chksm=fd9ca0fccaeb29ea9947456290099143c5bc9bdea0ccfb2408f5fd63f5e0fc13fcd8060d4251&token=515378286&lang=zh_CN#rd) 专门讲过)。 代码: -```Java [] +```Java class Solution { int INF = 0x3f3f3f3f; public int minCost(int[] hs, int[][] cost, int m, int n, int t) { @@ -185,7 +185,7 @@ class Solution { 但为了更好理解,我写了一个完整版的供你参考。 代码: -```Java [] +```Java class Solution { int INF = 0x3f3f3f3f; int ans = INF; @@ -240,7 +240,7 @@ class Solution { 注意记忆化容器应当与我们的「动规数组」结构保存一致。 代码: -```Java [] +```Java class Solution { int INF = 0x3f3f3f3f; int m, n, t; @@ -287,11 +287,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1473` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1473` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1471-1480/1480. \344\270\200\347\273\264\346\225\260\347\273\204\347\232\204\345\212\250\346\200\201\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/1471-1480/1480. \344\270\200\347\273\264\346\225\260\347\273\204\347\232\204\345\212\250\346\200\201\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" index eecc19ea..d6ee6b70 100644 --- "a/LeetCode/1471-1480/1480. \344\270\200\347\273\264\346\225\260\347\273\204\347\232\204\345\212\250\346\200\201\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/1471-1480/1480. \344\270\200\347\273\264\346\225\260\347\273\204\347\232\204\345\212\250\346\200\201\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -63,11 +63,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1480` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1480` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1481-1490/1482. \345\210\266\344\275\234 m \346\235\237\350\212\261\346\211\200\351\234\200\347\232\204\346\234\200\345\260\221\345\244\251\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1481-1490/1482. \345\210\266\344\275\234 m \346\235\237\350\212\261\346\211\200\351\234\200\347\232\204\346\234\200\345\260\221\345\244\251\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index 19027f9a..1986807a 100644 --- "a/LeetCode/1481-1490/1482. \345\210\266\344\275\234 m \346\235\237\350\212\261\346\211\200\351\234\200\347\232\204\346\234\200\345\260\221\345\244\251\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1481-1490/1482. \345\210\266\344\275\234 m \346\235\237\350\212\261\346\211\200\351\234\200\347\232\204\346\234\200\345\260\221\345\244\251\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -93,7 +93,7 @@ Tag : 「二分」 由于二分查找本身具有“折半”效率,因此两者不会有太大效率差距,我这里采用「粗略右边界」的方式。 代码: -```Java [] +```Java class Solution { int n, m, k; boolean[] fl; @@ -150,7 +150,7 @@ class Solution { 其实这个过程也能下放到统计逻辑去做,这样能够让 `check` 函数的复杂度从严格 $O(n)$ 变为最坏情况 $O(n)$,同时省去 $fl[]$ 数组,将空间优化至 $O(1)$。 代码: -```Java [] +```Java class Solution { int n, m, k; public int minDays(int[] nums, int _m, int _k) { @@ -196,11 +196,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1482` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1482` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1481-1490/1486. \346\225\260\347\273\204\345\274\202\346\210\226\346\223\215\344\275\234\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/1481-1490/1486. \346\225\260\347\273\204\345\274\202\346\210\226\346\223\215\344\275\234\357\274\210\347\256\200\345\215\225\357\274\211.md" index 1f5f7a0e..dac7c99a 100644 --- "a/LeetCode/1481-1490/1486. \346\225\260\347\273\204\345\274\202\346\210\226\346\223\215\344\275\234\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/1481-1490/1486. \346\225\260\347\273\204\345\274\202\346\210\226\346\223\215\344\275\234\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -56,7 +56,7 @@ Tag : 「数学」、「模拟」 数据范围只有 $10^3$,按照题目要求从头模拟一遍即可。 代码: -```Java [] +```Java class Solution { public int xorOperation(int n, int start) { int ans = start; @@ -113,7 +113,7 @@ class Solution { 代码: -```Java [] +```Java class Solution { int calc(int x) { if (x % 4 == 0) return x; @@ -139,11 +139,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1486` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1486` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/151-160/153. \345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/151-160/153. \345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" index 0e477b81..54ce087a 100644 --- "a/LeetCode/151-160/153. \345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/151-160/153. \345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -114,7 +114,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.153` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.153` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/151-160/154. \345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274 II\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/151-160/154. \345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274 II\357\274\210\345\233\260\351\232\276\357\274\211.md" index f8890db5..590a5c6d 100644 --- "a/LeetCode/151-160/154. \345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274 II\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/151-160/154. \345\257\273\346\211\276\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\346\234\200\345\260\217\345\200\274 II\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -121,7 +121,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.154` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.154` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/151-160/155. \346\234\200\345\260\217\346\240\210\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/151-160/155. \346\234\200\345\260\217\346\240\210\357\274\210\347\256\200\345\215\225\357\274\211.md" index 4387b494..595faac7 100644 --- "a/LeetCode/151-160/155. \346\234\200\345\260\217\346\240\210\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/151-160/155. \346\234\200\345\260\217\346\240\210\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -84,7 +84,7 @@ class MinStack { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.155` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.155` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/151-160/160. \347\233\270\344\272\244\351\223\276\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/151-160/160. \347\233\270\344\272\244\351\223\276\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" index 28ca4b44..40a85bc4 100644 --- "a/LeetCode/151-160/160. \347\233\270\344\272\244\351\223\276\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/151-160/160. \347\233\270\344\272\244\351\223\276\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -71,7 +71,7 @@ Tag : 「链表」、「栈」 ![image.png](https://pic.leetcode-cn.com/1622769850-UZiqOF-image.png) 代码: -```Java [] +```Java public class Solution { public ListNode getIntersectionNode(ListNode a, ListNode b) { for (ListNode h1 = a; h1 != null ; h1 = h1.next) { @@ -97,7 +97,7 @@ public class Solution { ![image.png](https://pic.leetcode-cn.com/1622769767-JqWwju-image.png) 代码: -```Java [] +```Java public class Solution { public ListNode getIntersectionNode(ListNode a, ListNode b) { Deque d1 = new ArrayDeque(), d2 = new ArrayDeque(); @@ -130,7 +130,7 @@ public class Solution { ![image.png](https://pic.leetcode-cn.com/1622769418-LujNwY-image.png) 代码: -```Java [] +```Java public class Solution { public ListNode getIntersectionNode(ListNode a, ListNode b) { int c1 = 0, c2 = 0; @@ -161,7 +161,7 @@ public class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.160` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.160` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1591-1600/1600. \347\232\207\344\275\215\347\273\247\346\211\277\351\241\272\345\272\217\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1591-1600/1600. \347\232\207\344\275\215\347\273\247\346\211\277\351\241\272\345\272\217\357\274\210\344\270\255\347\255\211\357\274\211.md" index 4c23bd38..3ad2e8c7 100644 --- "a/LeetCode/1591-1600/1600. \347\232\207\344\275\215\347\273\247\346\211\277\351\241\272\345\272\217\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1591-1600/1600. \347\232\207\344\275\215\347\273\247\346\211\277\351\241\272\345\272\217\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -74,7 +74,7 @@ t.getInheritanceOrder(); // 返回 ["king", "andy", "matthew", "alex", "asha", " ![image.png](https://pic.leetcode-cn.com/1624150709-JoDfDY-image.png) 代码: -```Java [] +```Java class ThroneInheritance { class Node { String name; @@ -128,7 +128,7 @@ class ThroneInheritance { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1600` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1600` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1601-1610/1603. \350\256\276\350\256\241\345\201\234\350\275\246\347\263\273\347\273\237\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/1601-1610/1603. \350\256\276\350\256\241\345\201\234\350\275\246\347\263\273\347\273\237\357\274\210\347\256\200\345\215\225\357\274\211.md" index 99eada7b..0d5c5bd7 100644 --- "a/LeetCode/1601-1610/1603. \350\256\276\350\256\241\345\201\234\350\275\246\347\263\273\347\273\237\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/1601-1610/1603. \350\256\276\350\256\241\345\201\234\350\275\246\347\263\273\347\273\237\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -41,7 +41,7 @@ parkingSystem.addCar(1); // 返回 false ,因为没有空的大车位,唯一 一个简单的做法是,直接使用几个成员变量来记录。 -```Java [] +```Java class ParkingSystem { int big, medium, small; public ParkingSystem(int _big, int _medium, int _small) { @@ -69,7 +69,7 @@ class ParkingSystem { 这样做的好处是,当增加车类型,只需要重载一个构造方法即可。 -```Java [] +```Java class ParkingSystem { Map map = new HashMap<>(); public ParkingSystem(int _big, int _medium, int _small) { @@ -114,7 +114,7 @@ class ParkingSystem { 那么对应到该题,如果我们允许同时停入不同类型的车,在不引入重量级锁的前提下,想要真正做到「同时」修改两种类型的车的车位的话,只能采用这样的「二进制分段」做法 ~ -```Java [] +```Java class ParkingSystem { int cnt; // [small medium big] public ParkingSystem(int _big, int _medium, int _small) { @@ -170,11 +170,11 @@ class ParkingSystem { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1603` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1603` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1601-1610/1610. \345\217\257\350\247\201\347\202\271\347\232\204\346\234\200\345\244\247\346\225\260\347\233\256\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1601-1610/1610. \345\217\257\350\247\201\347\202\271\347\232\204\346\234\200\345\244\247\346\225\260\347\233\256\357\274\210\345\233\260\351\232\276\357\274\211.md" index 12949ade..bec947ba 100644 --- "a/LeetCode/1601-1610/1610. \345\217\257\350\247\201\347\202\271\347\232\204\346\234\200\345\244\247\346\225\260\347\233\256\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1601-1610/1610. \345\217\257\350\247\201\347\202\271\347\232\204\346\234\200\345\244\247\346\225\260\347\233\256\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -119,7 +119,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/161-170/165. \346\257\224\350\276\203\347\211\210\346\234\254\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/161-170/165. \346\257\224\350\276\203\347\211\210\346\234\254\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" index 9db470cc..aa2b52aa 100644 --- "a/LeetCode/161-170/165. \346\257\224\350\276\203\347\211\210\346\234\254\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/161-170/165. \346\257\224\350\276\203\347\211\210\346\234\254\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -93,7 +93,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.165` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.165` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/161-170/168. Excel\350\241\250\345\210\227\345\220\215\347\247\260\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/161-170/168. Excel\350\241\250\345\210\227\345\220\215\347\247\260\357\274\210\347\256\200\345\215\225\357\274\211.md" index aeffbcdb..2baa23dd 100644 --- "a/LeetCode/161-170/168. Excel\350\241\250\345\210\227\345\220\215\347\247\260\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/161-170/168. Excel\350\241\250\345\210\227\345\220\215\347\247\260\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -46,7 +46,7 @@ Tag : 「模拟」 但本题需要我们将从 $1$ 开始,因此在执行「进制转换」操作前,我们需要先对 $columnNumber$ 执行减一操作,从而实现整体偏移。 代码: -```Java [] +```Java class Solution { public String convertToTitle(int cn) { StringBuilder sb = new StringBuilder(); @@ -67,7 +67,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.168` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.168` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1631-1640/1631. \346\234\200\345\260\217\344\275\223\345\212\233\346\266\210\350\200\227\350\267\257\345\276\204\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1631-1640/1631. \346\234\200\345\260\217\344\275\223\345\212\233\346\266\210\350\200\227\350\267\257\345\276\204\357\274\210\344\270\255\347\255\211\357\274\211.md" index 941d3e93..7fa0ecc0 100644 --- "a/LeetCode/1631-1640/1631. \346\234\200\345\260\217\344\275\223\345\212\233\346\266\210\350\200\227\350\267\257\345\276\204\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1631-1640/1631. \346\234\200\345\260\217\344\275\223\345\212\233\346\266\210\350\200\227\350\267\257\345\276\204\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -106,7 +106,7 @@ Tag : 「最小生成树」、「并查集」、「Kruskal」 **当第一次判断「起点」和「终点」联通时,说明我们「最短路径」的所有边都已经应用到并查集上了,而且由于我们的边是按照「从小到大」进行排序,因此最后一条添加的边就是「最短路径」上权重最大的边。** 代码: -```Java [] +```Java class Solution { int N = 10009; int[] p = new int[N]; @@ -196,11 +196,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1631` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1631` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1701-1710/1707. \344\270\216\346\225\260\347\273\204\344\270\255\345\205\203\347\264\240\347\232\204\346\234\200\345\244\247\345\274\202\346\210\226\345\200\274\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1701-1710/1707. \344\270\216\346\225\260\347\273\204\344\270\255\345\205\203\347\264\240\347\232\204\346\234\200\345\244\247\345\274\202\346\210\226\345\200\274\357\274\210\345\233\260\351\232\276\357\274\211.md" index c13a178b..98039376 100644 --- "a/LeetCode/1701-1710/1707. \344\270\216\346\225\260\347\273\204\344\270\255\345\205\203\347\264\240\347\232\204\346\234\200\345\244\247\345\274\202\346\210\226\345\200\274\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1701-1710/1707. \344\270\216\346\225\260\347\273\204\344\270\255\345\205\203\347\264\240\347\232\204\346\234\200\345\244\247\345\274\202\346\210\226\345\200\274\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -63,7 +63,7 @@ Tag : 「Trie」、「字典树」、「二分」 代码: -```Java [] +```Java class Solution { static int N = (int)1e5 * 32; static int[][] trie = new int[N][2]; @@ -143,7 +143,7 @@ class Solution { 3. 找到当前询问在原询问序列的下标,将答案存入。 代码: -```Java [] +```Java class Solution { static int N = (int)1e5 * 32; static int[][] trie = new int[N][2]; @@ -253,7 +253,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/171-180/171. Excel\350\241\250\345\210\227\345\272\217\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/171-180/171. Excel\350\241\250\345\210\227\345\272\217\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" index d327176b..731e1ee7 100644 --- "a/LeetCode/171-180/171. Excel\350\241\250\345\210\227\345\272\217\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/171-180/171. Excel\350\241\250\345\210\227\345\272\217\345\217\267\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -97,7 +97,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.171` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.171` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/171-180/173. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\277\255\344\273\243\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/171-180/173. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\277\255\344\273\243\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" index 6d657ffc..43b3aebd 100644 --- "a/LeetCode/171-180/173. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\277\255\344\273\243\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/171-180/173. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\277\255\344\273\243\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -150,7 +150,7 @@ class BSTIterator { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.173` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.173` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/171-180/179. \346\234\200\345\244\247\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/171-180/179. \346\234\200\345\244\247\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index 67466431..b61a334a 100644 --- "a/LeetCode/171-180/179. \346\234\200\345\244\247\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/171-180/179. \346\234\200\345\244\247\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -196,7 +196,7 @@ $b@a$ 说明字符串 $ab$ 的字典序大小数值要比字符串 $ba$ 字典 ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.179` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.179` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1711-1720/1711. \345\244\247\351\244\220\350\256\241\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1711-1720/1711. \345\244\247\351\244\220\350\256\241\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index b9466b22..a17f5f08 100644 --- "a/LeetCode/1711-1720/1711. \345\244\247\351\244\220\350\256\241\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1711-1720/1711. \345\244\247\351\244\220\350\256\241\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -61,7 +61,7 @@ Tag : 「哈希表」、「位运算」 **但通过这样的分析,我们可以发现「枚举前一个数」的做法是与 $n$ 相关的,而枚举「可能出现的 $2$ 的幂」则是有明确的范围,这引导出我们的解法二。** 代码: -```Java [] +```Java class Solution { int mod = (int)1e9+7; public int countPairs(int[] ds) { @@ -115,7 +115,7 @@ class Solution { 同时,这样的计数方式,我们对于二元组 $(x, t)$ 会分别计数两次(遍历 $x$ 和 遍历 $t$),因此最后要利用容斥原理,对重复计数的进行减半操作。 代码: -```Java [] +```Java class Solution { int mod = (int)1e9+7; int max = 1 << 22; @@ -148,7 +148,7 @@ class Solution { 当然,我们也可以采取「一边遍历一边统计」的方式,这样取余操作就可以放在遍历逻辑中去做,也就顺便实现了不使用 $long$ 来计数(以及不使用 `%` 实现取余)。 代码: -```Java [] +```Java class Solution { int mod = (int)1e9+7; int max = 1 << 22; diff --git "a/LeetCode/1711-1720/1720. \350\247\243\347\240\201\345\274\202\346\210\226\345\220\216\347\232\204\346\225\260\347\273\204\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/1711-1720/1720. \350\247\243\347\240\201\345\274\202\346\210\226\345\220\216\347\232\204\346\225\260\347\273\204\357\274\210\347\256\200\345\215\225\357\274\211.md" index a79e9398..6165b79c 100644 --- "a/LeetCode/1711-1720/1720. \350\247\243\347\240\201\345\274\202\346\210\226\345\220\216\347\232\204\346\225\260\347\273\204\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/1711-1720/1720. \350\247\243\347\240\201\345\274\202\346\210\226\345\220\216\347\232\204\346\225\260\347\273\204\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -62,7 +62,7 @@ Tag : 「数学」、「模拟」、「位运算」 3. 结合「性质二」,可化简「右式」得 `encoded[i-1] XOR arr[i-1] = arr[i]` 代码: -```Java [] +```Java class Solution { public int[] decode(int[] encoded, int first) { int n = encoded.length + 1; @@ -82,11 +82,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1720` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1720` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1721-1730/1723. \345\256\214\346\210\220\346\211\200\346\234\211\345\267\245\344\275\234\347\232\204\346\234\200\347\237\255\346\227\266\351\227\264\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1721-1730/1723. \345\256\214\346\210\220\346\211\200\346\234\211\345\267\245\344\275\234\347\232\204\346\234\200\347\237\255\346\227\266\351\227\264\357\274\210\345\233\260\351\232\276\357\274\211.md" index f7092cd7..864e18b6 100644 --- "a/LeetCode/1721-1730/1723. \345\256\214\346\210\220\346\211\200\346\234\211\345\267\245\344\275\234\347\232\204\346\234\200\347\237\255\346\227\266\351\227\264\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1721-1730/1723. \345\256\214\346\210\220\346\211\200\346\234\211\345\267\245\344\275\234\347\232\204\346\234\200\347\237\255\346\227\266\351\227\264\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -52,13 +52,13 @@ Tag : 「DFS」、「模拟退火」 抱着侥幸的心理一运行,很顺利的卡在了 $43/60$ 个数据: -```Java [] +```Java [254,256,256,254,251,256,254,253,255,251,251,255] // n = 12 10 // k = 10 ``` 代码: -```Java [] +```Java class Solution { int[] jobs; int n, k; @@ -127,7 +127,7 @@ class Solution { 代码: -```Java [] +```Java class Solution { int[] jobs; int n, k; @@ -188,7 +188,7 @@ class Solution { 3. 如果温度上升(交换前的序列更优),以「一定的概率」恢复现场(再交换回来) 代码: -```Java [] +```Java class Solution { int[] jobs; int[] works = new int[20]; @@ -293,11 +293,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1723` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1723` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1731-1740/1734. \350\247\243\347\240\201\345\274\202\346\210\226\345\220\216\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1731-1740/1734. \350\247\243\347\240\201\345\274\202\346\210\226\345\220\216\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" index 2b487046..6e0909ad 100644 --- "a/LeetCode/1731-1740/1734. \350\247\243\347\240\201\345\274\202\346\210\226\345\220\216\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1731-1740/1734. \350\247\243\347\240\201\345\274\202\346\210\226\345\220\216\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -68,7 +68,7 @@ Tag : 「数学」、「异或」 有了结尾元素后,问题变为与 [1720. 解码异或后的数组](https://leetcode-cn.com/problems/decode-xored-array/solution/gong-shui-san-xie-li-yong-yi-huo-xing-zh-p1bi/) 类似的模拟题。 代码: -```Java [] +```Java class Solution { public int[] decode(int[] encoded) { int n = encoded.length + 1; @@ -95,11 +95,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1734` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1734` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1731-1740/1738. \346\211\276\345\207\272\347\254\254 K \345\244\247\347\232\204\345\274\202\346\210\226\345\235\220\346\240\207\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1731-1740/1738. \346\211\276\345\207\272\347\254\254 K \345\244\247\347\232\204\345\274\202\346\210\226\345\235\220\346\240\207\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" index 237765a9..622fae35 100644 --- "a/LeetCode/1731-1740/1738. \346\211\276\345\207\272\347\254\254 K \345\244\247\347\232\204\345\274\202\346\210\226\345\235\220\346\240\207\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1731-1740/1738. \346\211\276\345\207\272\347\254\254 K \345\244\247\347\232\204\345\274\202\346\210\226\345\235\220\346\240\207\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -94,7 +94,7 @@ $$ 最终的堆顶元素即为答案。 代码: -```Java [] +```Java class Solution { public int kthLargestValue(int[][] mat, int k) { int m = mat.length, n = mat[0].length; @@ -125,11 +125,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1738` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1738` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1741-1750/1744. \344\275\240\350\203\275\345\234\250\344\275\240\346\234\200\345\226\234\346\254\242\347\232\204\351\202\243\345\244\251\345\220\203\345\210\260\344\275\240\346\234\200\345\226\234\346\254\242\347\232\204\347\263\226\346\236\234\345\220\227\357\274\237\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1741-1750/1744. \344\275\240\350\203\275\345\234\250\344\275\240\346\234\200\345\226\234\346\254\242\347\232\204\351\202\243\345\244\251\345\220\203\345\210\260\344\275\240\346\234\200\345\226\234\346\254\242\347\232\204\347\263\226\346\236\234\345\220\227\357\274\237\357\274\210\344\270\255\347\255\211\357\274\211.md" index 089f828c..53660823 100644 --- "a/LeetCode/1741-1750/1744. \344\275\240\350\203\275\345\234\250\344\275\240\346\234\200\345\226\234\346\254\242\347\232\204\351\202\243\345\244\251\345\220\203\345\210\260\344\275\240\346\234\200\345\226\234\346\254\242\347\232\204\347\263\226\346\236\234\345\220\227\357\274\237\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1741-1750/1744. \344\275\240\350\203\275\345\234\250\344\275\240\346\234\200\345\226\234\346\254\242\347\232\204\351\202\243\345\244\251\345\220\203\345\210\260\344\275\240\346\234\200\345\226\234\346\254\242\347\232\204\347\263\226\346\236\234\345\220\227\357\274\237\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -75,7 +75,7 @@ sum[t + 1] $$ 代码: -```Java [] +```Java class Solution { public boolean[] canEat(int[] cs, int[][] qs) { int n = qs.length, m = cs.length; @@ -98,7 +98,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1744` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1744` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1741-1750/1749. \344\273\273\346\204\217\345\255\220\346\225\260\347\273\204\345\222\214\347\232\204\347\273\235\345\257\271\345\200\274\347\232\204\346\234\200\345\244\247\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1741-1750/1749. \344\273\273\346\204\217\345\255\220\346\225\260\347\273\204\345\222\214\347\232\204\347\273\235\345\257\271\345\200\274\347\232\204\346\234\200\345\244\247\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" index 6e80cf90..12171f68 100644 --- "a/LeetCode/1741-1750/1749. \344\273\273\346\204\217\345\255\220\346\225\260\347\273\204\345\222\214\347\232\204\347\273\235\345\257\271\345\200\274\347\232\204\346\234\200\345\244\247\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1741-1750/1749. \344\273\273\346\204\217\345\255\220\346\225\260\347\273\204\345\222\214\347\232\204\347\273\235\345\257\271\345\200\274\347\232\204\346\234\200\345\244\247\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -60,7 +60,7 @@ abs(x) 定义如下: 因此我们可以边循环边做更新答案。 代码: -```Java [] +```Java class Solution { public int maxAbsoluteSum(int[] nums) { int n = nums.length; @@ -84,11 +84,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1749` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1749` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/1761-1770/1764. \351\200\232\350\277\207\350\277\236\346\216\245\345\217\246\344\270\200\344\270\252\346\225\260\347\273\204\347\232\204\345\255\220\346\225\260\347\273\204\345\276\227\345\210\260\344\270\200\344\270\252\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1761-1770/1764. \351\200\232\350\277\207\350\277\236\346\216\245\345\217\246\344\270\200\344\270\252\346\225\260\347\273\204\347\232\204\345\255\220\346\225\260\347\273\204\345\276\227\345\210\260\344\270\200\344\270\252\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" index b1bc5d81..2fdbabe9 100644 --- "a/LeetCode/1761-1770/1764. \351\200\232\350\277\207\350\277\236\346\216\245\345\217\246\344\270\200\344\270\252\346\225\260\347\273\204\347\232\204\345\255\220\346\225\260\347\273\204\345\276\227\345\210\260\344\270\200\344\270\252\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1761-1770/1764. \351\200\232\350\277\207\350\277\236\346\216\245\345\217\246\344\270\200\344\270\252\346\225\260\347\273\204\347\232\204\345\255\220\346\225\260\347\273\204\345\276\227\345\210\260\344\270\200\344\270\252\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -90,7 +90,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1764` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1764` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1761-1770/1766. \344\272\222\350\264\250\346\240\221\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1761-1770/1766. \344\272\222\350\264\250\346\240\221\357\274\210\345\233\260\351\232\276\357\274\211.md" index 624733ca..a01884f7 100644 --- "a/LeetCode/1761-1770/1766. \344\272\222\350\264\250\346\240\221\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1761-1770/1766. \344\272\222\350\264\250\346\240\221\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -136,7 +136,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1766` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1766` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1781-1790/1786. \344\273\216\347\254\254\344\270\200\344\270\252\350\212\202\347\202\271\345\207\272\345\217\221\345\210\260\346\234\200\345\220\216\344\270\200\344\270\252\350\212\202\347\202\271\347\232\204\345\217\227\351\231\220\350\267\257\345\276\204\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1781-1790/1786. \344\273\216\347\254\254\344\270\200\344\270\252\350\212\202\347\202\271\345\207\272\345\217\221\345\210\260\346\234\200\345\220\216\344\270\200\344\270\252\350\212\202\347\202\271\347\232\204\345\217\227\351\231\220\350\267\257\345\276\204\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index 9ecc2b44..5bcc0fb9 100644 --- "a/LeetCode/1781-1790/1786. \344\273\216\347\254\254\344\270\200\344\270\252\350\212\202\347\202\271\345\207\272\345\217\221\345\210\260\346\234\200\345\220\216\344\270\200\344\270\252\350\212\202\347\202\271\347\232\204\345\217\227\351\231\220\350\267\257\345\276\204\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1781-1790/1786. \344\273\216\347\254\254\344\270\200\344\270\252\350\212\202\347\202\271\345\207\272\345\217\221\345\210\260\346\234\200\345\220\216\344\270\200\344\270\252\350\212\202\347\202\271\347\232\204\345\217\227\351\231\220\350\267\257\345\276\204\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -151,7 +151,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1786` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1786` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1781-1790/1787. \344\275\277\346\211\200\346\234\211\345\214\272\351\227\264\347\232\204\345\274\202\346\210\226\347\273\223\346\236\234\344\270\272\351\233\266\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1781-1790/1787. \344\275\277\346\211\200\346\234\211\345\214\272\351\227\264\347\232\204\345\274\202\346\210\226\347\273\223\346\236\234\344\270\272\351\233\266\357\274\210\345\233\260\351\232\276\357\274\211.md" index 507e9942..a65465c9 100644 --- "a/LeetCode/1781-1790/1787. \344\275\277\346\211\200\346\234\211\345\214\272\351\227\264\347\232\204\345\274\202\346\210\226\347\273\223\346\236\234\344\270\272\351\233\266\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1781-1790/1787. \344\275\277\346\211\200\346\234\211\345\214\272\351\227\264\347\232\204\345\274\202\346\210\226\347\273\223\346\236\234\344\270\272\351\233\266\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -107,7 +107,7 @@ $$ 最终 $f[i][xor]$ 在所有上述方案中取 $min$。为了加速「取前 $i - 1$ 列的最小修改次数」的过程,我们可以多开一个 $g[]$ 数组来记录前一列的最小状态值。 代码: -```Java [] +```Java class Solution { public int minChanges(int[] nums, int k) { int n = nums.length; @@ -151,7 +151,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.1787` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.1787` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/181-190/190. \351\242\240\345\200\222\344\272\214\350\277\233\345\210\266\344\275\215\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/181-190/190. \351\242\240\345\200\222\344\272\214\350\277\233\345\210\266\344\275\215\357\274\210\347\256\200\345\215\225\357\274\211.md" index 4f973ac1..815d32b5 100644 --- "a/LeetCode/181-190/190. \351\242\240\345\200\222\344\272\214\350\277\233\345\210\266\344\275\215\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/181-190/190. \351\242\240\345\200\222\344\272\214\350\277\233\345\210\266\344\275\215\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -49,7 +49,7 @@ Tag : 「位运算」、「模拟」 **如果某一位是 1 的话,则将答案相应的对称位置修改为 1。** 代码: -```Java [] +```Java public class Solution { public int reverseBits(int n) { int ans = 0; @@ -77,7 +77,7 @@ public class Solution { **相当于每次都用 $n$ 的最低一位更新成 $ans$ 的最低一位。** 代码: -```Java [] +```Java public class Solution { public int reverseBits(int n) { int ans = 0; @@ -105,7 +105,7 @@ public class Solution { **两位互换 -> 四位互换 -> 八位互换 -> 十六位互换。** 代码: -```Java [] +```Java public class Solution { public int reverseBits(int n) { n = ((n & 0xAAAAAAAA) >>> 1) | ((n & 0x55555555) << 1); @@ -128,7 +128,7 @@ public class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.190` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.190` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1811-1820/1818. \347\273\235\345\257\271\345\267\256\345\200\274\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1811-1820/1818. \347\273\235\345\257\271\345\267\256\345\200\274\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" index 0f32c4e5..4b290a6a 100644 --- "a/LeetCode/1811-1820/1818. \347\273\235\345\257\271\345\267\256\345\200\274\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1811-1820/1818. \347\273\235\345\257\271\345\267\256\345\200\274\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -71,7 +71,7 @@ Tag : 「二分」 当整个数组被处理完,$max$ 存储着最优方案对应的差值变化,此时 $sum - max$ 即是答案。 代码: -```Java [] +```Java class Solution { int mod = (int)1e9+7; public int minAbsoluteSumDiff(int[] nums1, int[] nums2) { diff --git "a/LeetCode/1831-1840/1833. \351\233\252\347\263\225\347\232\204\346\234\200\345\244\247\346\225\260\351\207\217\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/1831-1840/1833. \351\233\252\347\263\225\347\232\204\346\234\200\345\244\247\346\225\260\351\207\217\357\274\210\344\270\255\347\255\211\357\274\211.md" index 4bdde9c4..0dc895c4 100644 --- "a/LeetCode/1831-1840/1833. \351\233\252\347\263\225\347\232\204\346\234\200\345\244\247\346\225\260\351\207\217\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/1831-1840/1833. \351\233\252\347\263\225\347\232\204\346\234\200\345\244\247\346\225\260\351\207\217\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -101,7 +101,7 @@ Tony 一共有 `coins` 现金可以用于消费,他想要买尽可能多的雪 排序,从前往后决策,直到不能决策为止。 代码: -```Java [] +```Java class Solution { public int maxIceCream(int[] cs, int t) { int n = cs.length; diff --git "a/LeetCode/191-200/191. \344\275\2151\347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/191-200/191. \344\275\2151\347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" index 275cb3aa..c1bb7064 100644 --- "a/LeetCode/191-200/191. \344\275\2151\347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/191-200/191. \344\275\2151\347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -46,7 +46,7 @@ Tag : 「位运算」 ![image.png](https://pic.leetcode-cn.com/1616375441-WGCssd-image.png) 代码: -```Java [] +```Java public class Solution { public int hammingWeight(int n) { int ans = 0; @@ -75,7 +75,7 @@ public class Solution { ![image.png](https://pic.leetcode-cn.com/1616375636-fXCFNF-image.png) 代码: -```Java [] +```Java public class Solution { public int hammingWeight(int n) { int ans = 0; @@ -105,7 +105,7 @@ public class Solution { ![image.png](https://pic.leetcode-cn.com/1616375636-fXCFNF-image.png) 代码: -```Java [] +```Java public class Solution { public int hammingWeight(int n) { int ans = 0; @@ -129,7 +129,7 @@ public class Solution { ![image.png](https://pic.leetcode-cn.com/1616378128-yBWadF-image.png) 代码: -```Java [] +```Java public class Solution { public int hammingWeight(int n) { n = (n & 0x55555555) + ((n >>> 1) & 0x55555555); @@ -153,7 +153,7 @@ PS. 对于该解法,如果大家学有余力的话,还是建议大家在纸 ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.191` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.191` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/1991-2000/1994. \345\245\275\345\255\220\351\233\206\347\232\204\346\225\260\347\233\256\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/1991-2000/1994. \345\245\275\345\255\220\351\233\206\347\232\204\346\225\260\347\233\256\357\274\210\345\233\260\351\232\276\357\274\211.md" index e51c683e..5a072cf6 100644 --- "a/LeetCode/1991-2000/1994. \345\245\275\345\255\220\351\233\206\347\232\204\346\225\260\347\233\256\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/1991-2000/1994. \345\245\275\345\255\220\351\233\206\347\232\204\346\225\260\347\233\256\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -78,7 +78,7 @@ Tag : 「状压 DP」 在此基础上,再考虑数值 $1$ 对答案的影响:**在每个合法的 $state'$ 前提下,增加若干个 $1$ 并不影响子集乘积(即好子集增加 $1$ 后仍为好子集),因此每个合法子集 $state'$ 可以对应出 $2^{cnts[1]}$ 个具体方案(代表每个 $1$ 即可以选,也可以不选)。** 代码: -```Java [] +```Java class Solution { int MOD = (int)1e9+7; int[] p = new int[]{2, 3, 5, 7, 11, 13, 17, 19, 23, 29}; @@ -142,7 +142,7 @@ class Solution { 基于对「原始状态定义」的分析,我们发现 $f[i][cur | prev]$ 的更新(累加)依赖于 $f[i][prev]$,同时 $prev$ 是 $cur | prev$ 的子集,因此在进行「一维空间优化」,我们需要确保所依赖的状态没有被覆盖更新,即采用「倒序遍历」。 代码: -```Java [] +```Java class Solution { int MOD = (int)1e9+7; int[] p = new int[]{2, 3, 5, 7, 11, 13, 17, 19, 23, 29}; diff --git "a/LeetCode/201-210/203. \347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/201-210/203. \347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" index 6242ed5b..3404a2bc 100644 --- "a/LeetCode/201-210/203. \347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/201-210/203. \347\247\273\351\231\244\351\223\276\350\241\250\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -41,7 +41,7 @@ Tag : 「链表」 由于是单链表,无法通过某个节点直接找到「前一个节点」,因此为了方便,我们可以为递归函数多设置一个入参,代表「前一个节点」。 代码: -```Java [] +```Java class Solution { public ListNode removeElements(ListNode head, int val) { ListNode dummy = new ListNode(-1); @@ -70,7 +70,7 @@ class Solution { 同理,我们可以使用「迭代」方式来实现,而迭代有 `while` 和 `for` 两种写法。 代码: -```Java [] +```Java class Solution { public ListNode removeElements(ListNode head, int val) { ListNode dummy = new ListNode(-1); @@ -86,7 +86,7 @@ class Solution { } } ``` -```Java [] +```Java class Solution { public ListNode removeElements(ListNode head, int val) { ListNode dummy = new ListNode(-1); @@ -111,7 +111,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.203` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.203` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/201-210/208. \345\256\236\347\216\260 Trie (\345\211\215\347\274\200\346\240\221)\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/201-210/208. \345\256\236\347\216\260 Trie (\345\211\215\347\274\200\346\240\221)\357\274\210\344\270\255\347\255\211\357\274\211.md" index ca33133c..79ac3729 100644 --- "a/LeetCode/201-210/208. \345\256\236\347\216\260 Trie (\345\211\215\347\274\200\346\240\221)\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/201-210/208. \345\256\236\347\216\260 Trie (\345\211\215\347\274\200\346\240\221)\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -284,7 +284,7 @@ class Trie { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.208` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.208` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/2091-2100/2100. \351\200\202\345\220\210\346\211\223\345\212\253\351\223\266\350\241\214\347\232\204\346\227\245\345\255\220\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/2091-2100/2100. \351\200\202\345\220\210\346\211\223\345\212\253\351\223\266\350\241\214\347\232\204\346\227\245\345\255\220\357\274\210\344\270\255\347\255\211\357\274\211.md" index 48b4c27d..a9bed51f 100644 --- "a/LeetCode/2091-2100/2100. \351\200\202\345\220\210\346\211\223\345\212\253\351\223\266\350\241\214\347\232\204\346\227\245\345\255\220\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/2091-2100/2100. \351\200\202\345\220\210\346\211\223\345\212\253\351\223\266\350\241\214\347\232\204\346\227\245\345\255\220\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -14,7 +14,9 @@ Tag : 「前缀和」 * 第 $i$ 天前连续 $time$ 天警卫数目都是非递增的。 * 第 $i$ 天后连续 $time$ 天警卫数目都是非递减的。 -更正式的,第 $i$ 天是一个合适打劫银行的日子当且仅当:$security[i - time] >= security[i - time + 1] >= ... >= security[i] <= ... <= security[i + time - 1] <= security[i + time]$. +更正式的,第 $i$ 天是一个合适打劫银行的日子当且仅当: + +$security[i - time] >= security[i - time + 1] >= ... >= security[i] <= ... <= security[i + time - 1] <= security[i + time]$ 请你返回一个数组,包含 所有 适合打劫银行的日子(下标从 $0$ 开始)。返回的日子可以 **任意** 顺序排列。 diff --git "a/LeetCode/21-30/21. \345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/21-30/21. \345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" index 13e15098..a40a4c14 100644 --- "a/LeetCode/21-30/21. \345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/21-30/21. \345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -50,7 +50,7 @@ Tag : 「多路归并」、「链表」 由于两条链表本身就是有序的,只需要在遍历过程中进行比较即可: 代码: -```Java [] +```Java class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if (l1 == null) return l2; @@ -91,7 +91,7 @@ class Solution { --- ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.21` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.21` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/21-30/22. \346\213\254\345\217\267\347\224\237\346\210\220\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/21-30/22. \346\213\254\345\217\267\347\224\237\346\210\220\357\274\210\344\270\255\347\255\211\357\274\211.md" index 92a958fc..e947f79f 100644 --- "a/LeetCode/21-30/22. \346\213\254\345\217\267\347\224\237\346\210\220\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/21-30/22. \346\213\254\345\217\267\347\224\237\346\210\220\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -56,7 +56,7 @@ Tag : 「DFS」、「回溯算法」 2. 整个 `DFS` 过程中,得分值范围在 `[0, n]`(得分不可能超过 `n` 意味着不可能添加数量超过 `n` 的左括号,对应了性质 1;得分不可能为负数,意味着每一个右括号必然有一个左括号进行匹配,对应性质 2) 代码: -```Java [] +```Java class Solution { public List generateParenthesis(int n) { List ans = new ArrayList<>(); @@ -89,7 +89,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.22` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.22` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/21-30/23. \345\220\210\345\271\266K\344\270\252\345\215\207\345\272\217\351\223\276\350\241\250\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/21-30/23. \345\220\210\345\271\266K\344\270\252\345\215\207\345\272\217\351\223\276\350\241\250\357\274\210\345\233\260\351\232\276\357\274\211.md" index 99ee6e88..a100b2b3 100644 --- "a/LeetCode/21-30/23. \345\220\210\345\271\266K\344\270\252\345\215\207\345\272\217\351\223\276\350\241\250\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/21-30/23. \345\220\210\345\271\266K\344\270\252\345\215\207\345\272\217\351\223\276\350\241\250\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -62,7 +62,7 @@ Tag : 「优先队列」、「堆」、「链表」 而「堆」则是满足这样要求的数据结构。 代码: -```Java [] +```Java class Solution { public ListNode mergeKLists(ListNode[] lists) { ListNode dummy = new ListNode(-1), tail = dummy; @@ -87,7 +87,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.23` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.23` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/21-30/24. \344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/21-30/24. \344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" index 72335cd8..0d3a08ed 100644 --- "a/LeetCode/21-30/24. \344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/21-30/24. \344\270\244\344\270\244\344\272\244\346\215\242\351\223\276\350\241\250\344\270\255\347\232\204\350\212\202\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -57,7 +57,7 @@ Tag : 「递归」、「链表」 交换的前提条件:节点 root 后面至少有两个节点。同时别忘了应用我们的「哨兵技巧」。 代码: -```Java [] +```Java class Solution { public ListNode swapPairs(ListNode head) { ListNode dummy = new ListNode(-1); @@ -86,7 +86,7 @@ class Solution { 所有的递归都能转化为迭代。 代码: -```Java [] +```Java class Solution { public ListNode swapPairs(ListNode head) { ListNode dummy = new ListNode(-1); @@ -109,7 +109,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.22` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.22` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/21-30/25. K \344\270\252\344\270\200\347\273\204\347\277\273\350\275\254\351\223\276\350\241\250\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/21-30/25. K \344\270\252\344\270\200\347\273\204\347\277\273\350\275\254\351\223\276\350\241\250\357\274\210\345\233\260\351\232\276\357\274\211.md" index 7d574ac1..5914c8bb 100644 --- "a/LeetCode/21-30/25. K \344\270\252\344\270\200\347\273\204\347\277\273\350\275\254\351\223\276\350\241\250\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/21-30/25. K \344\270\252\344\270\200\347\273\204\347\277\273\350\275\254\351\223\276\350\241\250\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -90,7 +90,7 @@ k 是一个正整数,它的值小于或等于链表的长度。 ![](https://pic.leetcode-cn.com/1611504265-qZGFAs-640%20(3).png) 代码: -```Java [] +```Java class Solution { public ListNode reverseKGroup(ListNode head, int k) { ListNode dummy = new ListNode(-1); @@ -138,7 +138,7 @@ class Solution { 需要注意的是,当我们不使用「哨兵」时,检查是否足够 $k$ 位,只需要检查是否有 $k - 1$ 个 $next$ 指针即可。 代码: -```Java [] +```Java class Solution { public ListNode reverseKGroup(ListNode head, int k) { int u = k; @@ -167,7 +167,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.25` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.25` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/21-30/26. \345\210\240\351\231\244\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\351\207\215\345\244\215\351\241\271\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/21-30/26. \345\210\240\351\231\244\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\351\207\215\345\244\215\351\241\271\357\274\210\347\256\200\345\215\225\357\274\211.md" index 8df4498f..885d9281 100644 --- "a/LeetCode/21-30/26. \345\210\240\351\231\244\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\351\207\215\345\244\215\351\241\271\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/21-30/26. \345\210\240\351\231\244\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\351\207\215\345\244\215\351\241\271\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -62,7 +62,7 @@ for (int i = 0; i < len; i++) { 只有当 `i` 所指向的值和 `j` 不一致(不重复),才将 `i` 的值添加到 `j` 的下一位置。 代码: -```Java [] +```Java class Solution { public int removeDuplicates(int[] nums) { int n = nums.length; @@ -103,7 +103,7 @@ class Solution { 4. 当整个数组被扫描完,最终我们得到了目标数组 `[3,4,5]` 和 答案 `idx` 为 `3`。 代码: -```Java [] +```Java class Solution { public int removeDuplicates(int[] nums) { return process(nums, 1); @@ -125,7 +125,7 @@ class Solution { **但需要注意这种「剪枝」同时会让我们单次循环的常数变大,所以仅作为简单拓展。** 代码: -```Java [] +```Java class Solution { public int removeDuplicates(int[] nums) { int n = nums.length; diff --git "a/LeetCode/21-30/27. \347\247\273\351\231\244\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/21-30/27. \347\247\273\351\231\244\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" index bbc27c5a..b98de8c0 100644 --- "a/LeetCode/21-30/27. \347\247\273\351\231\244\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/21-30/27. \347\247\273\351\231\244\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -75,7 +75,7 @@ for (int i = 0; i < len; i++) { 最终答案返回有效部分的结尾下标。 代码: -```Java [] +```Java class Solution { public int removeElement(int[] nums, int val) { int j = nums.length - 1; @@ -111,7 +111,7 @@ class Solution { 最终得到的 `idx` 即是答案。 代码: -```Java [] +```Java class Solution { public int removeElement(int[] nums, int val) { int idx = 0; @@ -136,7 +136,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.27` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.27` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/21-30/28. \345\256\236\347\216\260 strStr()\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/21-30/28. \345\256\236\347\216\260 strStr()\357\274\210\347\256\200\345\215\225\357\274\211.md" index c1edf14b..207ea8a2 100644 --- "a/LeetCode/21-30/28. \345\256\236\347\216\260 strStr()\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/21-30/28. \345\256\236\347\216\260 strStr()\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -56,7 +56,7 @@ Tag : 「子串匹配」、「KMP」 * 匹配失败:枚举原串的下一个「发起点」,重新尝试匹配。 代码: -```Java [] +```Java class Solution { public int strStr(String ss, String pp) { int n = ss.length(), m = pp.length(); @@ -212,7 +212,7 @@ KMP 算法是一个快速查找匹配串的算法,它的作用其实就是本 整个过程与上述分析完全一致,一些相关的注释我已经写到代码里。 代码: -```Java [] +```Java class Solution { // KMP 算法 // ss: 原串(string) pp: 匹配串(pattern) @@ -272,7 +272,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.28` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.28` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/21-30/30. \344\270\262\350\201\224\346\211\200\346\234\211\345\215\225\350\257\215\347\232\204\345\255\220\344\270\262\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/21-30/30. \344\270\262\350\201\224\346\211\200\346\234\211\345\215\225\350\257\215\347\232\204\345\255\220\344\270\262\357\274\210\345\233\260\351\232\276\357\274\211.md" index 47b55501..76cf0488 100644 --- "a/LeetCode/21-30/30. \344\270\262\350\201\224\346\211\200\346\234\211\345\215\225\350\257\215\347\232\204\345\255\220\344\270\262\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/21-30/30. \344\270\262\350\201\224\346\211\200\346\234\211\345\215\225\350\257\215\347\232\204\345\255\220\344\270\262\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -56,7 +56,7 @@ Tag : 「哈希表」、「滑动窗口」 剪枝处使用了带标签的 `continue` 语句直接回到外层循环进行。 代码: -```Java [] +```Java class Solution { public List findSubstring(String s, String[] words) { List ans = new ArrayList<>(); @@ -106,7 +106,7 @@ class Solution { 我们可以将起点根据 **当前下标与单词长度的取余结果** 进行分类,这样我们就不用频繁的建立新的哈希表和进行单词统计。 代码: -```Java [] +```Java class Solution { public List findSubstring(String s, String[] words) { List ans = new ArrayList<>(); @@ -166,7 +166,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.30` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.30` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/211-220/213. \346\211\223\345\256\266\345\212\253\350\210\215 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/211-220/213. \346\211\223\345\256\266\345\212\253\350\210\215 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index 869e0388..e8f300d6 100644 --- "a/LeetCode/211-220/213. \346\211\223\345\256\266\345\212\253\350\210\215 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/211-220/213. \346\211\223\345\256\266\345\212\253\350\210\215 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -151,7 +151,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.213` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.213` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/211-220/220. \345\255\230\345\234\250\351\207\215\345\244\215\345\205\203\347\264\240 III\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/211-220/220. \345\255\230\345\234\250\351\207\215\345\244\215\345\205\203\347\264\240 III\357\274\210\344\270\255\347\255\211\357\274\211.md" index 0fe4263a..d71813e3 100644 --- "a/LeetCode/211-220/220. \345\255\230\345\234\250\351\207\215\345\244\215\345\205\203\347\264\240 III\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/211-220/220. \345\255\230\345\234\250\351\207\215\345\244\215\345\205\203\347\264\240 III\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -76,7 +76,7 @@ Tag : 「滑动窗口」、「二分」、「桶排序」 其他细节:由于 `nums` 中的数较大,会存在 `int` 溢出问题,我们需要使用 `long` 来存储。 代码: -```Java [] +```Java class Solution { public boolean containsNearbyAlmostDuplicate(int[] nums, int k, int t) { int n = nums.length; @@ -115,7 +115,7 @@ class Solution { * 建立目标桶,并删除下标范围不在 $[max(0, i - k), i)$ 内的桶 代码: -```Java [] +```Java class Solution { long size; public boolean containsNearbyAlmostDuplicate(int[] nums, int k, int t) { diff --git "a/LeetCode/221-230/224. \345\237\272\346\234\254\350\256\241\347\256\227\345\231\250\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/221-230/224. \345\237\272\346\234\254\350\256\241\347\256\227\345\231\250\357\274\210\345\233\260\351\232\276\357\274\211.md" index 4a74d9d5..226179f4 100644 --- "a/LeetCode/221-230/224. \345\237\272\346\234\254\350\256\241\347\256\227\345\231\250\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/221-230/224. \345\237\272\346\234\254\350\256\241\347\256\227\345\231\250\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -51,7 +51,7 @@ Tag : 「表达式计算」 * 为防止 () 内出现的首个字符为运算符,将所有的空格去掉,并将 `(-` 替换为 `(0-`,`(+` 替换为 `(0+`(当然也可以不进行这样的预处理,将这个处理逻辑放到循环里去做) 代码: -```Java [] +```Java class Solution { public int calculate(String s) { // 存放所有的数字 @@ -130,7 +130,7 @@ class Solution { 一个支持 `+ - * / ^ %` 的「计算器」,基本逻辑是一样的,使用字典维护一个符号优先级: -```Java [] +```Java class Solution { Map map = new HashMap<>(){{ put('-', 1); @@ -223,7 +223,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.224` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.224` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/221-230/227. \345\237\272\346\234\254\350\256\241\347\256\227\345\231\250 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/221-230/227. \345\237\272\346\234\254\350\256\241\347\256\227\345\231\250 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index 41fbcf92..2c51a68b 100644 --- "a/LeetCode/221-230/227. \345\237\272\346\234\254\350\256\241\347\256\227\345\231\250 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/221-230/227. \345\237\272\346\234\254\350\256\241\347\256\227\345\231\250 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -75,7 +75,7 @@ Tag : 「表达式计算」 代码: -```Java [] +```Java class Solution { // 使用 map 维护一个运算符优先级 // 这里的优先级划分按照「数学」进行划分即可 @@ -189,7 +189,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.227` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.227` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/231-240/231. 2 \347\232\204\345\271\202\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/231-240/231. 2 \347\232\204\345\271\202\357\274\210\347\256\200\345\215\225\357\274\211.md" index 6351e71c..87086f6d 100644 --- "a/LeetCode/231-240/231. 2 \347\232\204\345\271\202\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/231-240/231. 2 \347\232\204\345\271\202\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -54,7 +54,7 @@ Tag : 「数学」、「位运算」 在处理完这些边界之后,尝试将 $n$ 除干净,如果最后剩余数值为 $1$ 则说明开始是 $2$ 的幂。 代码: -```Java [] +```Java class Solution { public boolean isPowerOfTwo(int n) { if (n <= 0) return false; @@ -75,7 +75,7 @@ class Solution { 如果一个数 $n$ 是 $2$ 的幂,那么有 `lowbit(n) = n` 的性质($2$ 的幂的二进制表示中必然是最高位为 $1$,低位为 $0$)。 代码; -```Java [] +```Java class Solution { public boolean isPowerOfTwo(int n) { return n > 0 && (n & -n) == n; @@ -89,7 +89,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.231` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.231` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/231-240/232. \347\224\250\346\240\210\345\256\236\347\216\260\351\230\237\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/231-240/232. \347\224\250\346\240\210\345\256\236\347\216\260\351\230\237\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" index a651a1a9..0bd3a7e4 100644 --- "a/LeetCode/231-240/232. \347\224\250\346\240\210\345\256\236\347\216\260\351\230\237\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/231-240/232. \347\224\250\346\240\210\345\256\236\347\216\260\351\230\237\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -169,7 +169,7 @@ class MyQueue { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.232` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.232` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/231-240/233. \346\225\260\345\255\227 1 \347\232\204\344\270\252\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/231-240/233. \346\225\260\345\255\227 1 \347\232\204\344\270\252\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" index acbda377..f0705416 100644 --- "a/LeetCode/231-240/233. \346\225\260\345\255\227 1 \347\232\204\344\270\252\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/231-240/233. \346\225\260\345\255\227 1 \347\232\204\344\270\252\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -103,7 +103,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.233` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.233` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/261-270/263. \344\270\221\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/261-270/263. \344\270\221\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" index 89a8d85a..2d070f07 100644 --- "a/LeetCode/261-270/263. \344\270\221\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/261-270/263. \344\270\221\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -76,7 +76,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.263` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.263` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/261-270/264. \344\270\221\346\225\260 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/261-270/264. \344\270\221\346\225\260 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index 4b35284d..846c15b1 100644 --- "a/LeetCode/261-270/264. \344\270\221\346\225\260 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/261-270/264. \344\270\221\346\225\260 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -130,7 +130,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.264` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.264` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/261-270/268. \344\270\242\345\244\261\347\232\204\346\225\260\345\255\227\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/261-270/268. \344\270\242\345\244\261\347\232\204\346\225\260\345\255\227\357\274\210\347\256\200\345\215\225\357\274\211.md" index 5ffa1c2b..93752425 100644 --- "a/LeetCode/261-270/268. \344\270\242\345\244\261\347\232\204\346\225\260\345\255\227\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/261-270/268. \344\270\242\345\244\261\347\232\204\346\225\260\345\255\227\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -182,7 +182,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.268` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.268` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/271-280/274. H \346\214\207\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/271-280/274. H \346\214\207\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index e73177e3..4dc1ba88 100644 --- "a/LeetCode/271-280/274. H \346\214\207\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/271-280/274. H \346\214\207\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -47,7 +47,7 @@ Tag : 「二分」 因此我们可以通过二分在 $[0, n]$ 范围内找分割点 $x$。 代码: -```Java [] +```Java class Solution { public int hIndex(int[] cs) { int n = cs.length; diff --git "a/LeetCode/271-280/275. H \346\214\207\346\225\260 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/271-280/275. H \346\214\207\346\225\260 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index 26cddac7..7c109783 100644 --- "a/LeetCode/271-280/275. H \346\214\207\346\225\260 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/271-280/275. H \346\214\207\346\225\260 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -51,7 +51,7 @@ h 指数的定义: “h 代表“高引用次数”(high citations),一名 当然对于 $10^5$ 的数据量,使用 $O(n\log{n})$ 复杂度没有任何问题。 代码: -```Java [] +```Java class Solution { public int hIndex(int[] cs) { int n = cs.length; @@ -91,7 +91,7 @@ class Solution { 利用此「二段性」进行二分即可,二分出下标后,再计算出书的个数。 代码: -```Java [] +```Java class Solution { public int hIndex(int[] cs) { int n = cs.length; diff --git "a/LeetCode/271-280/278. \347\254\254\344\270\200\344\270\252\351\224\231\350\257\257\347\232\204\347\211\210\346\234\254\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/271-280/278. \347\254\254\344\270\200\344\270\252\351\224\231\350\257\257\347\232\204\347\211\210\346\234\254\357\274\210\347\256\200\345\215\225\357\274\211.md" index 5dbb63ba..d07f324e 100644 --- "a/LeetCode/271-280/278. \347\254\254\344\270\200\344\270\252\351\224\231\350\257\257\347\232\204\347\211\210\346\234\254\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/271-280/278. \347\254\254\344\270\200\344\270\252\351\224\231\350\257\257\347\232\204\347\211\210\346\234\254\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -40,7 +40,7 @@ Tag : 「二分」 另外根据数据范围需要注意计算 `mid` 时的爆 `int` 问题,可以通过使用类似 `l + (r - l) / 2` 的做法解决,也可以通过一个临时 `long` 来解决。 代码: -```Java [] +```Java public class Solution extends VersionControl { public int firstBadVersion(int n) { int l = 1, r = n; @@ -57,7 +57,7 @@ public class Solution extends VersionControl { } } ``` -```Java [] +```Java public class Solution extends VersionControl { public int firstBadVersion(int n) { int l = 1, r = n; @@ -101,7 +101,7 @@ public class Solution extends VersionControl { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.278` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.278` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/271-280/279. \345\256\214\345\205\250\345\271\263\346\226\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/271-280/279. \345\256\214\345\205\250\345\271\263\346\226\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index de1d17d9..8c8044c6 100644 --- "a/LeetCode/271-280/279. \345\256\214\345\205\250\345\271\263\346\226\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/271-280/279. \345\256\214\345\205\250\345\271\263\346\226\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -70,7 +70,7 @@ $$ 当然,能够选择 $k$ 个数字 $i$ 的前提是,剩余的数字 $j - k * t$ 也能够被其他「完全平方数」凑出,即 $f[i - 1][j - k * t]$ 为有意义的值。 代码(朴素完全背包问题的复杂度是 $O(n^2 * \sqrt{n})$ 的,有超时风险,让物品下标从 $0$ 开始,单独处理第一个物品的 $P2$ 代码勉强能过): -```Java [] +```Java class Solution { int INF = 0x3f3f3f3f; public int numSquares(int n) { @@ -109,7 +109,7 @@ class Solution { } } ``` -```Java [] +```Java class Solution { int INF = -1; public int numSquares(int n) { @@ -181,7 +181,7 @@ $$ 同时,预处理「物品」的逻辑也能直接下放到转移过程去做。 代码: -```Java [] +```Java class Solution { public int numSquares(int n) { int[] f = new int[n + 1]; @@ -204,7 +204,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.279` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.279` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/291-300/297. \344\272\214\345\217\211\346\240\221\347\232\204\345\272\217\345\210\227\345\214\226\344\270\216\345\217\215\345\272\217\345\210\227\345\214\226\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/291-300/297. \344\272\214\345\217\211\346\240\221\347\232\204\345\272\217\345\210\227\345\214\226\344\270\216\345\217\215\345\272\217\345\210\227\345\214\226\357\274\210\345\233\260\351\232\276\357\274\211.md" index 26705ea0..3841626b 100644 --- "a/LeetCode/291-300/297. \344\272\214\345\217\211\346\240\221\347\232\204\345\272\217\345\210\227\345\214\226\344\270\216\345\217\215\345\272\217\345\210\227\345\214\226\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/291-300/297. \344\272\214\345\217\211\346\240\221\347\232\204\345\272\217\345\210\227\345\214\226\344\270\216\345\217\215\345\272\217\345\210\227\345\214\226\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -67,7 +67,7 @@ Tag : 「二叉树」、「层序遍历」 3. 循环流程 $2$,直到整个序列化字符串被处理完(注意跳过最后一位分隔符)。 代码: -```Java [] +```Java public class Codec { int INF = -2000; TreeNode emptyNode = new TreeNode(INF); @@ -119,7 +119,7 @@ public class Codec { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.297` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.297` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/301-310/301. \345\210\240\351\231\244\346\227\240\346\225\210\347\232\204\346\213\254\345\217\267\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/301-310/301. \345\210\240\351\231\244\346\227\240\346\225\210\347\232\204\346\213\254\345\217\267\357\274\210\345\233\260\351\232\276\357\274\211.md" index f623c157..5d322eaf 100644 --- "a/LeetCode/301-310/301. \345\210\240\351\231\244\346\227\240\346\225\210\347\232\204\346\213\254\345\217\267\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/301-310/301. \345\210\240\351\231\244\346\227\240\346\225\210\347\232\204\346\213\254\345\217\267\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -176,7 +176,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.301` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.301` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/301-310/303. \345\214\272\345\237\237\345\222\214\346\243\200\347\264\242 - \346\225\260\347\273\204\344\270\215\345\217\257\345\217\230\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/301-310/303. \345\214\272\345\237\237\345\222\214\346\243\200\347\264\242 - \346\225\260\347\273\204\344\270\215\345\217\257\345\217\230\357\274\210\347\256\200\345\215\225\357\274\211.md" index f7cb2443..437ff107 100644 --- "a/LeetCode/301-310/303. \345\214\272\345\237\237\345\222\214\346\243\200\347\264\242 - \346\225\260\347\273\204\344\270\215\345\217\257\345\217\230\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/301-310/303. \345\214\272\345\237\237\345\222\214\346\243\200\347\264\242 - \346\225\260\347\273\204\344\270\215\345\217\257\345\217\230\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -109,7 +109,7 @@ class NumArray { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.303` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.303` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/301-310/304. \344\272\214\347\273\264\345\214\272\345\237\237\345\222\214\346\243\200\347\264\242 - \347\237\251\351\230\265\344\270\215\345\217\257\345\217\230\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/301-310/304. \344\272\214\347\273\264\345\214\272\345\237\237\345\222\214\346\243\200\347\264\242 - \347\237\251\351\230\265\344\270\215\345\217\257\345\217\230\357\274\210\344\270\255\347\255\211\357\274\211.md" index 3bc5a270..a37f07b3 100644 --- "a/LeetCode/301-310/304. \344\272\214\347\273\264\345\214\272\345\237\237\345\222\214\346\243\200\347\264\242 - \347\237\251\351\230\265\344\270\215\345\217\257\345\217\230\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/301-310/304. \344\272\214\347\273\264\345\214\272\345\237\237\345\222\214\346\243\200\347\264\242 - \347\237\251\351\230\265\344\270\215\345\217\257\345\217\230\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -63,7 +63,7 @@ sumRegion(1, 2, 2, 4) -> 12 ![image.png](https://pic.leetcode-cn.com/1614650906-cznQhe-image.png) 代码: -```Java [] +```Java class NumMatrix { int[][] sum; public NumMatrix(int[][] matrix) { @@ -99,7 +99,7 @@ class NumMatrix { 当然也可以**在理解的基础上**,使用以下方式进行记忆: -```Java [] +```Java // 预处理前缀和数组 { sum = new int[n + 1][m + 1]; @@ -126,7 +126,7 @@ class NumMatrix { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.304` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.304` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/31-40/31. \344\270\213\344\270\200\344\270\252\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/31-40/31. \344\270\213\344\270\200\344\270\252\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" index b5a05cd5..496a64b6 100644 --- "a/LeetCode/31-40/31. \344\270\213\344\270\200\344\270\252\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/31-40/31. \344\270\213\344\270\200\344\270\252\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -77,7 +77,7 @@ Tag : 「模拟」、「数学」 注意:如果在步骤 1 中找到头部还没找到,说明该序列已经是字典序最大的排列。按照题意,我们要将数组重新排列成最小的排列。 代码: -```Java [] +```Java class Solution { public void nextPermutation(int[] nums) { int n = nums.length; @@ -112,7 +112,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.31` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.31` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/31-40/32. \346\234\200\351\225\277\346\234\211\346\225\210\346\213\254\345\217\267\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/31-40/32. \346\234\200\351\225\277\346\234\211\346\225\210\346\213\254\345\217\267\357\274\210\345\233\260\351\232\276\357\274\211.md" index 00a54385..b6b3e8ab 100644 --- "a/LeetCode/31-40/32. \346\234\200\351\225\277\346\234\211\346\225\210\346\213\254\345\217\267\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/31-40/32. \346\234\200\351\225\277\346\234\211\346\225\210\346\213\254\345\217\267\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -49,7 +49,7 @@ Tag : 「栈」、「括号问题」 再检查栈中是否还有 `'('`,如果有使用栈顶元素的下标来计算长度,否则使用 `j` 下标来计算长度。 代码: -```Java [] +```Java class Solution { public int longestValidParentheses(String s) { int n = s.length(); @@ -81,7 +81,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.32` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.32` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/31-40/33. \346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/31-40/33. \346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" index e947d523..8221dcb3 100644 --- "a/LeetCode/31-40/33. \346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/31-40/33. \346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -55,7 +55,7 @@ Tag : 「二分」 我们可以先找到旋转点 `idx`,然后对 `idx` 前后进行「二分」。 代码: -```Java [] +```Java class Solution { public int search(int[] nums, int target) { int n = nums.length; @@ -155,7 +155,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.33` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.33` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/31-40/34. \345\234\250\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\346\237\245\346\211\276\345\205\203\347\264\240\347\232\204\347\254\254\344\270\200\344\270\252\345\222\214\346\234\200\345\220\216\344\270\200\344\270\252\344\275\215\347\275\256\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/31-40/34. \345\234\250\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\346\237\245\346\211\276\345\205\203\347\264\240\347\232\204\347\254\254\344\270\200\344\270\252\345\222\214\346\234\200\345\220\216\344\270\200\344\270\252\344\275\215\347\275\256\357\274\210\344\270\255\347\255\211\357\274\211.md" index 76672471..d7cabba8 100644 --- "a/LeetCode/31-40/34. \345\234\250\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\346\237\245\346\211\276\345\205\203\347\264\240\347\232\204\347\254\254\344\270\200\344\270\252\345\222\214\346\234\200\345\220\216\344\270\200\344\270\252\344\275\215\347\275\256\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/31-40/34. \345\234\250\346\216\222\345\272\217\346\225\260\347\273\204\344\270\255\346\237\245\346\211\276\345\205\203\347\264\240\347\232\204\347\254\254\344\270\200\344\270\252\345\222\214\346\234\200\345\220\216\344\270\200\344\270\252\344\275\215\347\275\256\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -58,7 +58,7 @@ Tag : 「二分」 ![640.png](https://pic.leetcode-cn.com/1611730934-iKurnj-640.png) 代码: -```Java [] +```Java class Solution { public int[] searchRange(int[] nums, int target) { int[] ans = new int[]{-1, -1}; @@ -100,7 +100,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.34` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.34` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/31-40/35. \346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/31-40/35. \346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256\357\274\210\347\256\200\345\215\225\357\274\211.md" index 5a36f277..185e436b 100644 --- "a/LeetCode/31-40/35. \346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/31-40/35. \346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -67,7 +67,7 @@ class Solution { 具体的,通过二分找到符合 `nums[mid] >= t` 的分割点。注意二分完后需要再次检查是否位置是否符合条件,如果不符合,代表插入元素应该被添加到数组结尾。 代码: -```Java [] +```Java class Solution { public int searchInsert(int[] nums, int t) { int n = nums.length; @@ -92,7 +92,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.35` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.35` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/31-40/37. \350\247\243\346\225\260\347\213\254\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/31-40/37. \350\247\243\346\225\260\347\213\254\357\274\210\345\233\260\351\232\276\357\274\211.md" index f70e978c..18eda8eb 100644 --- "a/LeetCode/31-40/37. \350\247\243\346\225\260\347\213\254\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/31-40/37. \350\247\243\346\225\260\347\213\254\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -69,7 +69,7 @@ Tag : 「回溯算法」、「DFS」、「数独问题」 对每一个需要填入数字的位置进行填入,如果发现填入某个数会导致数独解不下去,则进行回溯。 代码: -```Java [] +```Java class Solution { boolean[][] row = new boolean[9][9]; boolean[][] col = new boolean[9][9]; @@ -112,7 +112,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.37` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.37` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/31-40/39. \347\273\204\345\220\210\346\200\273\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/31-40/39. \347\273\204\345\220\210\346\200\273\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" index 82c9e0cc..d15524b1 100644 --- "a/LeetCode/31-40/39. \347\273\204\345\220\210\346\200\273\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/31-40/39. \347\273\204\345\220\210\346\200\273\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -63,7 +63,7 @@ candidates 中的数字可以无限制重复被选取。 这道题数据范围是 30 以内,而且是求所有方案,因此我们使用 DFS + 回溯来求解。 代码: -```Java [] +```Java class Solution { public List> combinationSum(int[] cs, int t) { List> ans = new ArrayList<>(); @@ -105,7 +105,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.39` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.39` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/31-40/40. \347\273\204\345\220\210\346\200\273\345\222\214 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/31-40/40. \347\273\204\345\220\210\346\200\273\345\222\214 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index 41d93571..2eb36718 100644 --- "a/LeetCode/31-40/40. \347\273\204\345\220\210\346\200\273\345\222\214 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/31-40/40. \347\273\204\345\220\210\346\200\273\345\222\214 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -67,7 +67,7 @@ candidates 中的每个数字在每个组合中只能使用一次。 2. 由于不允许重复答案,可以使用 set 来保存所有合法方案,最终再转为 list 进行返回。当然我们需要先对 cs 进行排序,确保得到的合法方案中数值都是从小到大的。这样 set 才能起到去重的作用。对于 `[1,2,1]` 和 `[1,1,2]`,set 不会认为是相同的数组。 代码: -```Java [] +```Java class Solution { public List> combinationSum2(int[] cs, int t) { Arrays.sort(cs); @@ -109,7 +109,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.40` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.40` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/311-320/313. \350\266\205\347\272\247\344\270\221\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/311-320/313. \350\266\205\347\272\247\344\270\221\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index b92dc07c..cdcc5817 100644 --- "a/LeetCode/311-320/313. \350\266\205\347\272\247\344\270\221\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/311-320/313. \350\266\205\347\272\247\344\270\221\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -147,7 +147,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/311-320/319. \347\201\257\346\263\241\345\274\200\345\205\263\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/311-320/319. \347\201\257\346\263\241\345\274\200\345\205\263\357\274\210\344\270\255\347\255\211\357\274\211.md" index 910025fe..15067355 100644 --- "a/LeetCode/311-320/319. \347\201\257\346\263\241\345\274\200\345\205\263\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/311-320/319. \347\201\257\346\263\241\345\274\200\345\205\263\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -84,7 +84,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/321-330/322. \351\233\266\351\222\261\345\205\221\346\215\242\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/321-330/322. \351\233\266\351\222\261\345\205\221\346\215\242\357\274\210\344\270\255\347\255\211\357\274\211.md" index ace0ddcc..9d830414 100644 --- "a/LeetCode/321-330/322. \351\233\266\351\222\261\345\205\221\346\215\242\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/321-330/322. \351\233\266\351\222\261\345\205\221\346\215\242\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -85,7 +85,7 @@ min(f[i-1][j-k*coin] + k) $$ 代码: -```Java [] +```Java class Solution { int INF = Integer.MAX_VALUE; public int coinChange(int[] cs, int cnt) { @@ -134,7 +134,7 @@ class Solution { 因此,我们才有先判断再使用的习惯: -```Java [] +```Java if (f[i-1][j] != INF) { f[i][j] = Math.min(f[i][j], f[i-1][j]); } @@ -149,7 +149,7 @@ if (f[i-1][j] != INF) { 比如使用 `0x3f3f3f3f` 作为最大值,这样我们使用 `INF` 做状态转移的时候,就不需要先判断再使用了。 代码: -```Java [] +```Java class Solution { int INF = 0x3f3f3f3f; public int coinChange(int[] cs, int cnt) { @@ -255,7 +255,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.322` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.322` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/331-340/331. \351\252\214\350\257\201\344\272\214\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\345\272\217\345\210\227\345\214\226\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/331-340/331. \351\252\214\350\257\201\344\272\214\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\345\272\217\345\210\227\345\214\226\357\274\210\344\270\255\347\255\211\357\274\211.md" index 34262b48..b011c698 100644 --- "a/LeetCode/331-340/331. \351\252\214\350\257\201\344\272\214\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\345\272\217\345\210\227\345\214\226\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/331-340/331. \351\252\214\350\257\201\344\272\214\345\217\211\346\240\221\347\232\204\345\211\215\345\272\217\345\272\217\345\210\227\345\214\226\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -192,11 +192,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.331` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.331` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/331-340/335. \350\267\257\345\276\204\344\272\244\345\217\211\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/331-340/335. \350\267\257\345\276\204\344\272\244\345\217\211\357\274\210\345\233\260\351\232\276\357\274\211.md" index fbf9baeb..57bb022c 100644 --- "a/LeetCode/331-340/335. \350\267\257\345\276\204\344\272\244\345\217\211\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/331-340/335. \350\267\257\345\276\204\344\272\244\345\217\211\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -94,7 +94,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/331-340/338. \346\257\224\347\211\271\344\275\215\350\256\241\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/331-340/338. \346\257\224\347\211\271\344\275\215\350\256\241\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" index 739fb08c..8b550a76 100644 --- "a/LeetCode/331-340/338. \346\257\224\347\211\271\344\275\215\350\256\241\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/331-340/338. \346\257\224\347\211\271\344\275\215\350\256\241\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -129,7 +129,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.338` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.338` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/341-350/341. \346\211\201\345\271\263\345\214\226\345\265\214\345\245\227\345\210\227\350\241\250\350\277\255\344\273\243\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/341-350/341. \346\211\201\345\271\263\345\214\226\345\265\214\345\245\227\345\210\227\350\241\250\350\277\255\344\273\243\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" index 30476bd7..64b79f40 100644 --- "a/LeetCode/341-350/341. \346\211\201\345\271\263\345\214\226\345\265\214\345\245\227\345\210\227\350\241\250\350\277\255\344\273\243\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/341-350/341. \346\211\201\345\271\263\345\214\226\345\265\214\345\245\227\345\210\227\350\241\250\350\277\255\344\273\243\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -122,11 +122,11 @@ public class NestedIterator implements Iterator { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.341` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.341` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/341-350/342. 4\347\232\204\345\271\202\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/341-350/342. 4\347\232\204\345\271\202\357\274\210\347\256\200\345\215\225\357\274\211.md" index 6e6f9ce4..54517cd0 100644 --- "a/LeetCode/341-350/342. 4\347\232\204\345\271\202\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/341-350/342. 4\347\232\204\345\271\202\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -54,7 +54,7 @@ Tag : 「数学」、「位运算」 我们可以先对 $n$ 执行 `sqrt` 函数,然后应用 `lowbit` 函数快速判断 $\sqrt{n}$ 是否为 $2$ 的幂。 代码: -```Java [] +```Java class Solution { public boolean isPowerOfFour(int n) { if (n <= 0) return false; @@ -63,7 +63,7 @@ class Solution { } } ``` -```Java [] +```Java class Solution { public boolean isPowerOfFour(int n) { if (n <= 0) return false; @@ -91,7 +91,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.342` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.342` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/351-360/354. \344\277\204\347\275\227\346\226\257\345\245\227\345\250\203\344\277\241\345\260\201\351\227\256\351\242\230\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/351-360/354. \344\277\204\347\275\227\346\226\257\345\245\227\345\250\203\344\277\241\345\260\201\351\227\256\351\242\230\357\274\210\345\233\260\351\232\276\357\274\211.md" index b7e47514..372f4da3 100644 --- "a/LeetCode/351-360/354. \344\277\204\347\275\227\346\226\257\345\245\227\345\250\203\344\277\241\345\260\201\351\227\256\351\242\230\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/351-360/354. \344\277\204\347\275\227\346\226\257\345\245\227\345\250\203\344\277\241\345\260\201\351\227\256\351\242\230\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -57,7 +57,7 @@ Tag : 「二分」、「序列 DP」 代码: -```Java [] +```Java class Solution { public int maxEnvelopes(int[][] es) { int n = es.length; @@ -121,7 +121,7 @@ class Solution { 代码: -```Java [] +```Java class Solution { public int maxEnvelopes(int[][] es) { int n = es.length; @@ -287,7 +287,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.354` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.354` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/361-370/367. \346\234\211\346\225\210\347\232\204\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/361-370/367. \346\234\211\346\225\210\347\232\204\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" index 9c28ba8e..f5db671c 100644 --- "a/LeetCode/361-370/367. \346\234\211\346\225\210\347\232\204\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/361-370/367. \346\234\211\346\225\210\347\232\204\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -91,7 +91,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/361-370/368. \346\234\200\345\244\247\346\225\264\351\231\244\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/361-370/368. \346\234\200\345\244\247\346\225\264\351\231\244\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211.md" index 1af2c38d..5017f2ae 100644 --- "a/LeetCode/361-370/368. \346\234\200\345\244\247\346\225\264\351\231\244\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/361-370/368. \346\234\200\345\244\247\346\225\264\351\231\244\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -95,7 +95,7 @@ Tag : 「序列 DP」 当我们求得所有的状态值之后,可以对 `f[]` 数组进行遍历,取得具体的最长「整除子集」长度和对应下标,然后使用 `g[]` 数组进行回溯,取得答案。 代码: -```Java [] +```Java class Solution { public List largestDivisibleSubset(int[] nums) { Arrays.sort(nums); @@ -169,11 +169,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.368` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.368` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/371-380/374. \347\214\234\346\225\260\345\255\227\345\244\247\345\260\217\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/371-380/374. \347\214\234\346\225\260\345\255\227\345\244\247\345\260\217\357\274\210\347\256\200\345\215\225\357\274\211.md" index b92f9e3e..806fa3b7 100644 --- "a/LeetCode/371-380/374. \347\214\234\346\225\260\345\255\227\345\244\247\345\260\217\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/371-380/374. \347\214\234\346\225\260\345\255\227\345\244\247\345\260\217\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -60,7 +60,7 @@ Tag : 「二分」 另外根据数据范围需要注意计算 `mid` 时的爆 `int` 问题,可以通过使用类似 `l + (r - l) / 2` 的做法解决,也可以通过一个临时 `long` 来解决。 代码: -```Java [] +```Java public class Solution extends GuessGame { public int guessNumber(int n) { int l = 1, r = n; @@ -77,7 +77,7 @@ public class Solution extends GuessGame { } } ``` -```Java [] +```Java public class Solution extends GuessGame { public int guessNumber(int n) { int l = 1, r = n; @@ -126,7 +126,7 @@ public class Solution extends GuessGame { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.374` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.374` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/391-400/395. \350\207\263\345\260\221\346\234\211 K \344\270\252\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/391-400/395. \350\207\263\345\260\221\346\234\211 K \344\270\252\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" index 3df037eb..67529033 100644 --- "a/LeetCode/391-400/395. \350\207\263\345\260\221\346\234\211 K \344\270\252\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/391-400/395. \350\207\263\345\260\221\346\234\211 K \344\270\252\351\207\215\345\244\215\345\255\227\347\254\246\347\232\204\346\234\200\351\225\277\345\255\220\344\270\262\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -61,7 +61,7 @@ Tag : 「双指针」、「枚举」 当然,我们还需要记录有多少字符符合要求(出现次数不少于 k),当区间内所有字符都符合时更新答案。 代码: -```Java [] +```Java class Solution { public int longestSubstring(String s, int k) { int ans = 0; @@ -132,7 +132,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.395` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.395` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/401-410/401. \344\272\214\350\277\233\345\210\266\346\211\213\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/401-410/401. \344\272\214\350\277\233\345\210\266\346\211\213\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" index 6b05bb22..6c4dcfcc 100644 --- "a/LeetCode/401-410/401. \344\272\214\350\277\233\345\210\266\346\211\213\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/401-410/401. \344\272\214\350\277\233\345\210\266\346\211\213\350\241\250\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -47,7 +47,7 @@ Tag : 「打表」、「二进制」 PS. 如果打表逻辑计算量接近 $10^7$ 上限,可以考虑放到本地去做,这里数据量较少,直接放到 `static` 代码块去做即可。 代码: -```Java [] +```Java class Solution { // 打表逻辑,也可以放到本地做 // 注意使用 static 修饰,确保打表数据只会被生成一次 @@ -83,7 +83,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.401` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.401` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/401-410/403. \351\235\222\350\233\231\350\277\207\346\262\263\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/401-410/403. \351\235\222\350\233\231\350\277\207\346\262\263\357\274\210\345\233\260\351\232\276\357\274\211.md" index 658d6765..3919c2cd 100644 --- "a/LeetCode/401-410/403. \351\235\222\350\233\231\350\277\207\346\262\263\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/401-410/403. \351\235\222\350\233\231\350\277\207\346\262\263\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -51,7 +51,7 @@ Tag : 「DFS」、「BFS」、「记忆化搜索」、「线性 DP」 * 需要知道当前所在位置是经过多少步而来的,也就是需要知道上一步的跳跃步长 $k$。 代码: -```Java [] +```Java class Solution { Map map = new HashMap<>(); public boolean canCross(int[] ss) { @@ -126,7 +126,7 @@ class Solution { **另外,当容器维度较多且上界较大时(例如上述的 `int[2009][2009]`),直接使用「哈希表」可以有效降低「爆空间/时间」的风险(不需要每跑一个样例都创建一个百万级的数组)。** 代码: -```Java [] +```Java class Solution { Map map = new HashMap<>(); // int[][] cache = new int[2009][2009]; @@ -174,7 +174,7 @@ class Solution { 我们的 `DFS` 函数签名为: -```Java [] +```Java boolean dfs(int[] ss, int n, int u, int k); ``` @@ -217,7 +217,7 @@ boolean dfs(int[] ss, int n, int u, int k); 建议大家加强理解 ~ 代码: -```Java [] +```Java class Solution { public boolean canCross(int[] ss) { int n = ss.length; @@ -262,7 +262,7 @@ class Solution { 它更多是作为「记忆化搜索」的另外一种实现形式。 代码: -```Java [] +```Java class Solution { Map map = new HashMap<>(); public boolean canCross(int[] ss) { @@ -308,11 +308,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.403` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.403` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/41-50/41. \347\274\272\345\244\261\347\232\204\347\254\254\344\270\200\344\270\252\346\255\243\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/41-50/41. \347\274\272\345\244\261\347\232\204\347\254\254\344\270\200\344\270\252\346\255\243\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" index 0ff930d6..98195923 100644 --- "a/LeetCode/41-50/41. \347\274\272\345\244\261\347\232\204\347\254\254\344\270\200\344\270\252\346\255\243\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/41-50/41. \347\274\272\345\244\261\347\232\204\347\254\254\344\270\200\344\270\252\346\255\243\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -54,7 +54,7 @@ Tag : 「桶排序」 例如样例预处理后的数组 `[1,-1,3,4]` 中第一个 `nums[i] != i + 1` 的是数字 2(i = 1)。 代码: -```Java [] +```Java class Solution { public int firstMissingPositive(int[] nums) { int n = nums.length; @@ -115,7 +115,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/41-50/42. \346\216\245\351\233\250\346\260\264\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/41-50/42. \346\216\245\351\233\250\346\260\264\357\274\210\345\233\260\351\232\276\357\274\211.md" index 38f14ea6..066880c3 100644 --- "a/LeetCode/41-50/42. \346\216\245\351\233\250\346\260\264\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/41-50/42. \346\216\245\351\233\250\346\260\264\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -49,7 +49,7 @@ Tag : 「单调栈」、「数学」 唯唯诺诺交一个,过了 ~ (好题,建议加入蓝桥杯 代码: -```Java [] +```Java class Solution { public int trap(int[] height) { int n = height.length; @@ -102,7 +102,7 @@ class Solution { 整体算法的复杂度也从 $O(n^2)$ 下降到 $O(n)$。 代码: -```Java [] +```Java class Solution { public int trap(int[] height) { int n = height.length; @@ -162,7 +162,7 @@ class Solution { 当有了 `a` 左右两侧比 `a` 高的柱子后,便可计算 `a` 位置可接下的雨水量。 代码: -```Java [] +```Java class Solution { public int trap(int[] height) { int n = height.length; @@ -207,7 +207,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1617328567-AkILvh-image.png) 代码: -```Java [] +```Java class Solution { public int trap(int[] height) { int n = height.length; @@ -243,7 +243,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.42` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.42` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/41-50/43. \345\255\227\347\254\246\344\270\262\347\233\270\344\271\230\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/41-50/43. \345\255\227\347\254\246\344\270\262\347\233\270\344\271\230\357\274\210\344\270\255\347\255\211\357\274\211.md" index b6269647..1830da73 100644 --- "a/LeetCode/41-50/43. \345\255\227\347\254\246\344\270\262\347\233\270\344\271\230\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/41-50/43. \345\255\227\347\254\246\344\270\262\347\233\270\344\271\230\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -43,7 +43,7 @@ Tag : 「数学」、「模拟」 另外,最后拼接结果时需要注意忽略前导零。 代码: -```Java [] +```Java class Solution { public String multiply(String n1, String n2) { int n = n1.length(), m = n2.length(); @@ -74,7 +74,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.43` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.43` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/41-50/44. \351\200\232\351\205\215\347\254\246\345\214\271\351\205\215\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/41-50/44. \351\200\232\351\205\215\347\254\246\345\214\271\351\205\215\357\274\210\345\233\260\351\232\276\357\274\211.md" index 29b1ae6a..84771f68 100644 --- "a/LeetCode/41-50/44. \351\200\232\351\205\215\347\254\246\345\214\271\351\205\215\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/41-50/44. \351\200\232\351\205\215\347\254\246\345\214\271\351\205\215\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -158,7 +158,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.44` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.44` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/41-50/45. \350\267\263\350\267\203\346\270\270\346\210\217 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/41-50/45. \350\267\263\350\267\203\346\270\270\346\210\217 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index 19571228..5ca08bb0 100644 --- "a/LeetCode/41-50/45. \350\267\263\350\267\203\346\270\270\346\210\217 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/41-50/45. \350\267\263\350\267\203\346\270\270\346\210\217 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -46,7 +46,7 @@ Tag : 「贪心」、「线性 DP」、「双指针」 本题的 BFS 解法的复杂度是 $O(n^2)$,数据范围为 $10^3$,可以过。 代码: -```Java [] +```Java class Solution { public int jump(int[] nums) { int n = nums.length; @@ -130,7 +130,7 @@ class Solution { 因此这个思路其实是一个「双指针 + 贪心 + 动态规划」的一个解法。 代码: -```Java [] +```Java class Solution { public int jump(int[] nums) { int n = nums.length; @@ -150,7 +150,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.45` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.45` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/411-420/412. Fizz Buzz\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/411-420/412. Fizz Buzz\357\274\210\347\256\200\345\215\225\357\274\211.md" index 46bcc1a7..fdad6dde 100644 --- "a/LeetCode/411-420/412. Fizz Buzz\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/411-420/412. Fizz Buzz\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -43,7 +43,7 @@ n = 15, 根据题意进行模拟。 代码: -```Java [] +```Java class Solution { public List fizzBuzz(int n) { List ans = new ArrayList<>(); diff --git "a/LeetCode/411-420/413. \347\255\211\345\267\256\346\225\260\345\210\227\345\210\222\345\210\206\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/411-420/413. \347\255\211\345\267\256\346\225\260\345\210\227\345\210\222\345\210\206\357\274\210\344\270\255\347\255\211\357\274\211.md" index 86e3bab2..ad05c46b 100644 --- "a/LeetCode/411-420/413. \347\255\211\345\267\256\346\225\260\345\210\227\345\210\222\345\210\206\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/411-420/413. \347\255\211\345\267\256\346\225\260\345\210\227\345\210\222\345\210\206\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -80,7 +80,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.413` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.413` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/411-420/416. \345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211(\344\270\212).md" "b/LeetCode/411-420/416. \345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211(\344\270\212).md" index f4bccfe7..a52f35d6 100644 --- "a/LeetCode/411-420/416. \345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211(\344\270\212).md" +++ "b/LeetCode/411-420/416. \345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211(\344\270\212).md" @@ -258,11 +258,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.416` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.416` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/411-420/416. \345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211(\344\270\213).md" "b/LeetCode/411-420/416. \345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211(\344\270\213).md" index 5769435e..3aa83862 100644 --- "a/LeetCode/411-420/416. \345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211(\344\270\213).md" +++ "b/LeetCode/411-420/416. \345\210\206\345\211\262\347\255\211\345\222\214\345\255\220\351\233\206\357\274\210\344\270\255\347\255\211\357\274\211(\344\270\213).md" @@ -244,11 +244,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.416` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.416` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/411-420/419. \347\224\262\346\235\277\344\270\212\347\232\204\346\210\230\350\210\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/411-420/419. \347\224\262\346\235\277\344\270\212\347\232\204\346\210\230\350\210\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index 256d5872..e90588b1 100644 --- "a/LeetCode/411-420/419. \347\224\262\346\235\277\344\270\212\347\232\204\346\210\230\350\210\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/411-420/419. \347\224\262\346\235\277\344\270\212\347\232\204\346\210\230\350\210\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -127,7 +127,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/421-430/421. \346\225\260\347\273\204\344\270\255\344\270\244\344\270\252\346\225\260\347\232\204\346\234\200\345\244\247\345\274\202\346\210\226\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/421-430/421. \346\225\260\347\273\204\344\270\255\344\270\244\344\270\252\346\225\260\347\232\204\346\234\200\345\244\247\345\274\202\346\210\226\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" index 37d38e27..994db807 100644 --- "a/LeetCode/421-430/421. \346\225\260\347\273\204\344\270\255\344\270\244\344\270\252\346\225\260\347\232\204\346\234\200\345\244\247\345\274\202\346\210\226\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/421-430/421. \346\225\260\347\273\204\344\270\255\344\270\244\344\270\252\346\225\260\347\232\204\346\234\200\345\244\247\345\274\202\346\210\226\345\200\274\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -90,7 +90,7 @@ Tag : 「字典树」、「贪心」 担心有不熟 Java 的同学,在代码里添加了相应注释说明。 代码: -```Java [] +```Java class Solution { // static 成员整个类独一份,只有在类首次加载时才会创建,因此只会被 new 一次 static int N = (int)1e6; @@ -147,7 +147,7 @@ class Solution { 相比于使用 `static` 来优化,一个更好的做法是使用类来实现 $Trie$,这样可以真正做到「按需分配」内存,缺点是会发生不确定次数的 `new`。 代码: -```Java [] +```Java class Solution { class Node { Node[] ns = new Node[2]; @@ -198,7 +198,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/421-430/423. \344\273\216\350\213\261\346\226\207\344\270\255\351\207\215\345\273\272\346\225\260\345\255\227\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/421-430/423. \344\273\216\350\213\261\346\226\207\344\270\255\351\207\215\345\273\272\346\225\260\345\255\227\357\274\210\344\270\255\347\255\211\357\274\211.md" index 2a4df81b..547c1c35 100644 --- "a/LeetCode/421-430/423. \344\273\216\350\213\261\346\226\207\344\270\255\351\207\215\345\273\272\346\225\260\345\255\227\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/421-430/423. \344\273\216\350\213\261\346\226\207\344\270\255\351\207\215\345\273\272\346\225\260\345\255\227\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -71,7 +71,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/421-430/424. \346\233\277\346\215\242\345\220\216\347\232\204\346\234\200\351\225\277\351\207\215\345\244\215\345\255\227\347\254\246\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/421-430/424. \346\233\277\346\215\242\345\220\216\347\232\204\346\234\200\351\225\277\351\207\215\345\244\215\345\255\227\347\254\246\357\274\210\344\270\255\347\255\211\357\274\211.md" index d418d28f..be8143a2 100644 --- "a/LeetCode/421-430/424. \346\233\277\346\215\242\345\220\216\347\232\204\346\234\200\351\225\277\351\207\215\345\244\215\345\255\227\347\254\246\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/421-430/424. \346\233\277\346\215\242\345\220\216\347\232\204\346\234\200\351\225\277\351\207\215\345\244\215\345\255\227\347\254\246\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -44,7 +44,7 @@ Tag : 「双指针」、「滑动窗口」 当找到这样的性质之后,我们可以对 `s` 进行遍历,每次让 `r` 右移并计数,如果符合条件,更新最大值;如果不符合条件,让 `l` 右移,更新计数,直到符合条件。 代码: -```Java [] +```Java class Solution { public int characterReplacement(String s, int k) { char[] cs = s.toCharArray(); diff --git "a/LeetCode/421-430/430. \346\211\201\345\271\263\345\214\226\345\244\232\347\272\247\345\217\214\345\220\221\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/421-430/430. \346\211\201\345\271\263\345\214\226\345\244\232\347\272\247\345\217\214\345\220\221\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" index fb166986..d0a1bf83 100644 --- "a/LeetCode/421-430/430. \346\211\201\345\271\263\345\214\226\345\244\232\347\272\247\345\217\214\345\220\221\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/421-430/430. \346\211\201\345\271\263\345\214\226\345\244\232\347\272\247\345\217\214\345\220\221\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -187,7 +187,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/431-440/434. \345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\345\215\225\350\257\215\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/431-440/434. \345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\345\215\225\350\257\215\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" index abad8ebf..15923470 100644 --- "a/LeetCode/431-440/434. \345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\345\215\225\350\257\215\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/431-440/434. \345\255\227\347\254\246\344\270\262\344\270\255\347\232\204\345\215\225\350\257\215\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -51,7 +51,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/431-440/437. \350\267\257\345\276\204\346\200\273\345\222\214 III\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/431-440/437. \350\267\257\345\276\204\346\200\273\345\222\214 III\357\274\210\344\270\255\347\255\211\357\274\211.md" index b85a9ec9..e41db564 100644 --- "a/LeetCode/431-440/437. \350\267\257\345\276\204\346\200\273\345\222\214 III\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/431-440/437. \350\267\257\345\276\204\346\200\273\345\222\214 III\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -110,7 +110,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/451-460/451. \346\240\271\346\215\256\345\255\227\347\254\246\345\207\272\347\216\260\351\242\221\347\216\207\346\216\222\345\272\217\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/451-460/451. \346\240\271\346\215\256\345\255\227\347\254\246\345\207\272\347\216\260\351\242\221\347\216\207\346\216\222\345\272\217\357\274\210\344\270\255\347\255\211\357\274\211.md" index ee86211e..dc4d4214 100644 --- "a/LeetCode/451-460/451. \346\240\271\346\215\256\345\255\227\347\254\246\345\207\272\347\216\260\351\242\221\347\216\207\346\216\222\345\272\217\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/451-460/451. \346\240\271\346\215\256\345\255\227\347\254\246\345\207\272\347\216\260\351\242\221\347\216\207\346\216\222\345\272\217\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -63,7 +63,7 @@ Tag : 「模拟」、「桶排序」、「哈希表」、「数组」、「优 ![image.png](https://pic.leetcode-cn.com/1625273052-MtkpTv-image.png) 代码: -```Java [] +```Java class Solution { class Node { char c; @@ -109,7 +109,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1625273079-aeNBlb-image.png) 代码: -```Java [] +```Java class Solution { public String frequencySort(String s) { int[][] cnts = new int[128][2]; diff --git "a/LeetCode/451-460/456. 132 \346\250\241\345\274\217\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/451-460/456. 132 \346\250\241\345\274\217\357\274\210\344\270\255\347\255\211\357\274\211.md" index 8b0fd080..af4c2e89 100644 --- "a/LeetCode/451-460/456. 132 \346\250\241\345\274\217\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/451-460/456. 132 \346\250\241\345\274\217\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -97,7 +97,7 @@ Tag : 「单调栈」 代码: -```Java [] +```Java class Solution { public boolean find132pattern(int[] nums) { int n = nums.length; @@ -122,11 +122,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.456` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.456` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/451-460/460. LFU \347\274\223\345\255\230\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/451-460/460. LFU \347\274\223\345\255\230\357\274\210\345\233\260\351\232\276\357\274\211.md" index c0f5a0e7..221f92ce 100644 --- "a/LeetCode/451-460/460. LFU \347\274\223\345\255\230\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/451-460/460. LFU \347\274\223\345\255\230\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -103,7 +103,7 @@ LFU 简单理解则是指「移除使用次数最少的元素」,如果存在 * 插入操作:将键值对添加到 $idx = 1$ 的桶中(代表当前键值对使用次数为 $1$),如果桶不存在则创建。 代码: -```Java [] +```Java class LFUCache { class Item { @@ -278,7 +278,7 @@ class LFUCache { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.460` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.460` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/461-470/461. \346\261\211\346\230\216\350\267\235\347\246\273\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/461-470/461. \346\261\211\346\230\216\350\267\235\347\246\273\357\274\210\347\256\200\345\215\225\357\274\211.md" index 22a2a596..5ea31dbc 100644 --- "a/LeetCode/461-470/461. \346\261\211\346\230\216\350\267\235\347\246\273\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/461-470/461. \346\261\211\346\230\216\350\267\235\347\246\273\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -36,7 +36,7 @@ Tag : 「位运算」 ![image.png](https://pic.leetcode-cn.com/1622076908-buohoV-image.png) 代码: -```Java [] +```Java class Solution { public int hammingDistance(int x, int y) { int ans = 0; @@ -62,7 +62,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1622076955-PjLfhh-image.png) 代码: -```Java [] +```Java class Solution { public int hammingDistance(int x, int y) { int ans = 0; @@ -89,7 +89,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1622078171-LQURLc-image.png) 代码: -```Java [] +```Java class Solution { int lowbit(int x) { return x & -x; @@ -108,7 +108,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.461` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.461` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/471-480/472. \350\277\236\346\216\245\350\257\215\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/471-480/472. \350\277\236\346\216\245\350\257\215\357\274\210\345\233\260\351\232\276\357\274\211.md" index 69e4efb3..51d1afff 100644 --- "a/LeetCode/471-480/472. \350\277\236\346\216\245\350\257\215\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/471-480/472. \350\277\236\346\216\245\350\257\215\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -115,7 +115,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/471-480/474. \344\270\200\345\222\214\351\233\266\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/471-480/474. \344\270\200\345\222\214\351\233\266\357\274\210\344\270\255\347\255\211\357\274\211.md" index 865ac3a1..84e885bc 100644 --- "a/LeetCode/471-480/474. \344\270\200\345\222\214\351\233\266\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/471-480/474. \344\270\200\345\222\214\351\233\266\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -61,7 +61,7 @@ $$f[k][i][j] = \max(f[k - 1][i][j], f[k - 1][i - cnt[k][0]][j - cnt[k][1]] + 1)$ 其中 $cnt$ 数组记录的是字符串中出现的 $01$ 数量。 代码(为了方便理解,$P1$ 将第一件物品的处理单独抽了出来,也可以不抽出来,只需要将让物品下标从 $1$ 开始即可,见 $P2$): -```Java [] +```Java class Solution { public int findMaxForm(String[] strs, int m, int n) { int len = strs.length; @@ -105,7 +105,7 @@ class Solution { } } ``` -```Java [] +```Java class Solution { public int findMaxForm(String[] strs, int m, int n) { int len = strs.length; @@ -147,7 +147,7 @@ class Solution { 因此,可以使用「滚动数组」的方式进行空间优化。 代码(为了方便理解,$P1$ 将第一件物品的处理单独抽了出来,也可以不抽出来,只需要将让物品下标从 $1$ 开始即可,见 $P2$): -```Java [] +```Java class Solution { public int findMaxForm(String[] strs, int m, int n) { int len = strs.length; @@ -195,7 +195,7 @@ class Solution { } } ``` -```Java [] +```Java class Solution { public int findMaxForm(String[] strs, int m, int n) { int len = strs.length; @@ -244,7 +244,7 @@ class Solution { 因此可直接参考「01 背包的空间优化」方式:取消掉「物品维度」,然后调整容量的遍历顺序。 代码: -```Java [] +```Java class Solution { public int findMaxForm(String[] strs, int m, int n) { int len = strs.length; @@ -278,11 +278,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.474` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.474` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/471-480/475. \344\276\233\346\232\226\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/471-480/475. \344\276\233\346\232\226\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" index 36777e4b..2cb7f623 100644 --- "a/LeetCode/471-480/475. \344\276\233\346\232\226\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/471-480/475. \344\276\233\346\232\226\345\231\250\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -100,7 +100,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/471-480/477. \346\261\211\346\230\216\350\267\235\347\246\273\346\200\273\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/471-480/477. \346\261\211\346\230\216\350\267\235\347\246\273\346\200\273\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" index a76417e0..81e4de2b 100644 --- "a/LeetCode/471-480/477. \346\261\211\346\230\216\350\267\235\347\246\273\346\200\273\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/471-480/477. \346\261\211\346\230\216\350\267\235\347\246\273\346\200\273\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -51,7 +51,7 @@ HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 前面说到每位的统计是相对独立的,因此只要对「每一位」都应用上述操作,并把「每一位」的结果累加即是最终答案。 代码: -```Java [] +```Java class Solution { public int totalHammingDistance(int[] nums) { int ans = 0; @@ -77,7 +77,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.477` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.477` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/471-480/480. \346\273\221\345\212\250\347\252\227\345\217\243\344\270\255\344\275\215\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/471-480/480. \346\273\221\345\212\250\347\252\227\345\217\243\344\270\255\344\275\215\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" index 73b553e3..c5506ca9 100644 --- "a/LeetCode/471-480/480. \346\273\221\345\212\250\347\252\227\345\217\243\344\270\255\344\275\215\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/471-480/480. \346\273\221\345\212\250\347\252\227\345\217\243\344\270\255\344\275\215\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -50,7 +50,7 @@ Tag : 「滑动窗口」、「堆」、「优先队列」 朴素做法通常是优化的开始,所以还是提供一下朴素做法的代码。 代码: -```Java [] +```Java class Solution { public double[] medianSlidingWindow(int[] nums, int k) { int n = nums.length; @@ -99,7 +99,7 @@ class Solution { 2.3 根据 `left` 堆 和 `right` 堆得到当前滑动窗口的中位值 代码: -```Java [] +```Java class Solution { public double[] medianSlidingWindow(int[] nums, int k) { int n = nums.length; diff --git "a/LeetCode/481-490/483. \346\234\200\345\260\217\345\245\275\350\277\233\345\210\266\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/481-490/483. \346\234\200\345\260\217\345\245\275\350\277\233\345\210\266\357\274\210\345\233\260\351\232\276\357\274\211.md" index 402909ce..9b1d9233 100644 --- "a/LeetCode/481-490/483. \346\234\200\345\260\217\345\245\275\350\277\233\345\210\266\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/481-490/483. \346\234\200\345\260\217\345\245\275\350\277\233\345\210\266\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -81,7 +81,7 @@ $$ 一些细节:实现上为了方便,不处理 $k = n - 1$ 的边界问题,我们可以调整枚举下界为 $3$,当枚举不出合法 $k$ 时,直接返回 $n - 1$ 作为答案。 代码: -```Java [] +```Java class Solution { public String smallestGoodBase(String n) { long m = Long.parseLong(n); @@ -103,7 +103,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.483` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.483` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/481-490/485. \346\234\200\345\244\247\350\277\236\347\273\255 1 \347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/481-490/485. \346\234\200\345\244\247\350\277\236\347\273\255 1 \347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" index 1e221af0..9ea265f9 100644 --- "a/LeetCode/481-490/485. \346\234\200\345\244\247\350\277\236\347\273\255 1 \347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/481-490/485. \346\234\200\345\244\247\350\277\236\347\273\255 1 \347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -56,7 +56,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.485` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.485` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/481-490/488. \347\245\226\347\216\233\346\270\270\346\210\217\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/481-490/488. \347\245\226\347\216\233\346\270\270\346\210\217\357\274\210\345\233\260\351\232\276\357\274\211.md" index f17dc831..a09dfc72 100644 --- "a/LeetCode/481-490/488. \347\245\226\347\216\233\346\270\270\346\210\217\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/481-490/488. \347\245\226\347\216\233\346\270\270\346\210\217\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -144,7 +144,7 @@ class Solution { 我们建立一个类 `Node` 来代指当前搜索局面。 -```Java [] +```Java class Node { // 当前的棋盘状况 String a; diff --git "a/LeetCode/501-510/503. \344\270\213\344\270\200\344\270\252\346\233\264\345\244\247\345\205\203\347\264\240 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/501-510/503. \344\270\213\344\270\200\344\270\252\346\233\264\345\244\247\345\205\203\347\264\240 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index 3295d07b..c2d07529 100644 --- "a/LeetCode/501-510/503. \344\270\213\344\270\200\344\270\252\346\233\264\345\244\247\345\205\203\347\264\240 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/501-510/503. \344\270\213\344\270\200\344\270\252\346\233\264\345\244\247\345\205\203\347\264\240 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -115,7 +115,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.501` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.501` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/511-520/516. \346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/511-520/516. \346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" index bf7df331..41974eaf 100644 --- "a/LeetCode/511-520/516. \346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/511-520/516. \346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\345\272\217\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -121,7 +121,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.516` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.516` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/511-520/518. \351\233\266\351\222\261\345\205\221\346\215\242 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/511-520/518. \351\233\266\351\222\261\345\205\221\346\215\242 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index ab9a5d44..cc616d66 100644 --- "a/LeetCode/511-520/518. \351\233\266\351\222\261\345\205\221\346\215\242 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/511-520/518. \351\233\266\351\222\261\345\205\221\346\215\242 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -81,7 +81,7 @@ $$ $$ 代码: -```Java [] +```Java class Solution { public int change(int cnt, int[] cs) { int n = cs.length; @@ -145,7 +145,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.518` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.518` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/521-530/523. \350\277\236\347\273\255\347\232\204\345\255\220\346\225\260\347\273\204\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/521-530/523. \350\277\236\347\273\255\347\232\204\345\255\220\346\225\260\347\273\204\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" index a13e37e8..c99b46c5 100644 --- "a/LeetCode/521-530/523. \350\277\236\347\273\255\347\232\204\345\255\220\346\225\260\347\273\204\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/521-530/523. \350\277\236\347\273\255\347\232\204\345\255\220\346\225\260\347\273\204\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -83,7 +83,7 @@ $$ 如果枚举某个右端点 $j$ 时发现存在某个左端点 $i$ 符合要求,则返回 `True`。 代码: -```Java [] +```Java class Solution { public boolean checkSubarraySum(int[] nums, int k) { int n = nums.length; @@ -114,7 +114,7 @@ class Solution { 比较简单,应该没啥问题,可以直接参考 🤣 代码: -```Java [] +```Java import java.util.*; class Main { public static void main(String[] args) { @@ -141,7 +141,7 @@ class Main { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.523` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.523` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/521-530/525. \350\277\236\347\273\255\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/521-530/525. \350\277\236\347\273\255\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" index dd0d770e..79ccffb1 100644 --- "a/LeetCode/521-530/525. \350\277\236\347\273\255\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/521-530/525. \350\277\236\347\273\255\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -49,7 +49,7 @@ Tag : 「前缀和」 *PS. 哈希表常数还是比较大的,用数组模拟哈希表的卡常代码见 P2。* 代码: -```Java [] +```Java class Solution { public int findMaxLength(int[] nums) { int n = nums.length; @@ -66,7 +66,7 @@ class Solution { } } ``` -```Java [] +```Java class Solution { public int findMaxLength(int[] nums) { int n = nums.length; @@ -91,7 +91,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.525` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.525` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/521-530/526. \344\274\230\347\276\216\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/521-530/526. \344\274\230\347\276\216\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" index 5199872b..93229846 100644 --- "a/LeetCode/521-530/526. \344\274\230\347\276\216\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/521-530/526. \344\274\230\347\276\216\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -174,7 +174,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.525` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.525` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/551-560/551. \345\255\246\347\224\237\345\207\272\345\213\244\350\256\260\345\275\225 I\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/551-560/551. \345\255\246\347\224\237\345\207\272\345\213\244\350\256\260\345\275\225 I\357\274\210\347\256\200\345\215\225\357\274\211.md" index 869f3a05..4eda256c 100644 --- "a/LeetCode/551-560/551. \345\255\246\347\224\237\345\207\272\345\213\244\350\256\260\345\275\225 I\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/551-560/551. \345\255\246\347\224\237\345\207\272\345\213\244\350\256\260\345\275\225 I\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -78,7 +78,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/551-560/552. \345\255\246\347\224\237\345\207\272\345\213\244\350\256\260\345\275\225 II\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/551-560/552. \345\255\246\347\224\237\345\207\272\345\213\244\350\256\260\345\275\225 II\357\274\210\345\233\260\351\232\276\357\274\211.md" index b31e1aef..4a48d64d 100644 --- "a/LeetCode/551-560/552. \345\255\246\347\224\237\345\207\272\345\213\244\350\256\260\345\275\225 II\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/551-560/552. \345\255\246\347\224\237\345\207\272\345\213\244\350\256\260\345\275\225 II\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -65,7 +65,7 @@ Tag : 「动态规划」、「状态机」、「记忆化搜索」、「矩阵 枚举所有方案的爆搜 `DFS` 代码不难写,大致的函数签名设计如下: -```Java [] +```Java /** * @param u 当前还剩下多少位需要决策 * @param acnt 当前方案中 A 的总出现次数 @@ -337,7 +337,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/551-560/554. \347\240\226\345\242\231\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/551-560/554. \347\240\226\345\242\231\357\274\210\344\270\255\347\255\211\357\274\211.md" index 25d45da6..37de240f 100644 --- "a/LeetCode/551-560/554. \347\240\226\345\242\231\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/551-560/554. \347\240\226\345\242\231\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -71,7 +71,7 @@ Tag : 「哈希表」 对间隙计数完成后,遍历「哈希表」找出出现次数最多间隙 `4`,根据同一个间隙编号只会在单行内被统计一次,用总行数减去出现次数,即得到「最少穿过的砖块数」。 代码: -```Java [] +```Java class Solution { public int leastBricks(List> wall) { int n = wall.size(); @@ -105,7 +105,7 @@ class Solution { 可以通过以下例子来体会: -```Java [] +```Java { System.out.println(Integer.MIN_VALUE); // -2147483648 @@ -173,11 +173,11 @@ $1 <= sum(wall[i].length) <= 2 * 10^4$ 十分多余。 ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.554` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.554` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/551-560/559. N \345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/551-560/559. N \345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246\357\274\210\347\256\200\345\215\225\357\274\211.md" index bbe75b4d..782a7afe 100644 --- "a/LeetCode/551-560/559. N \345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/551-560/559. N \345\217\211\346\240\221\347\232\204\346\234\200\345\244\247\346\267\261\345\272\246\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -92,7 +92,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/561-570/561. \346\225\260\347\273\204\346\213\206\345\210\206 I\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/561-570/561. \346\225\260\347\273\204\346\213\206\345\210\206 I\357\274\210\347\256\200\345\215\225\357\274\211.md" index a31e956d..7135b89f 100644 --- "a/LeetCode/561-570/561. \346\225\260\347\273\204\346\213\206\345\210\206 I\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/561-570/561. \346\225\260\347\273\204\346\213\206\345\210\206 I\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -121,7 +121,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.561` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.561` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/561-570/566. \351\207\215\345\241\221\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/561-570/566. \351\207\215\345\241\221\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" index 4c157b6b..8e05459f 100644 --- "a/LeetCode/561-570/566. \351\207\215\345\241\221\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/561-570/566. \351\207\215\345\241\221\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -57,7 +57,7 @@ r = 2, c = 4 使用 $idx$ 记录新矩阵当前分配到的位置(一维),利用通用的一维转二维方式对应回行列坐标即可。 代码: -```Java [] +```Java class Solution { public int[][] matrixReshape(int[][] nums, int r, int c) { int or = nums.length, oc = nums[0].length; diff --git "a/LeetCode/561-570/567. \345\255\227\347\254\246\344\270\262\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/561-570/567. \345\255\227\347\254\246\344\270\262\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" index aeb7124f..dd3b14cb 100644 --- "a/LeetCode/561-570/567. \345\255\227\347\254\246\344\270\262\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/561-570/567. \345\255\227\347\254\246\344\270\262\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -90,7 +90,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.567` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.567` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/571-580/576. \345\207\272\347\225\214\347\232\204\350\267\257\345\276\204\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/571-580/576. \345\207\272\347\225\214\347\232\204\350\267\257\345\276\204\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index d60e4cac..0b1b0fd5 100644 --- "a/LeetCode/571-580/576. \345\207\272\347\225\214\347\232\204\350\267\257\345\276\204\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/571-580/576. \345\207\272\347\225\214\347\232\204\350\267\257\345\276\204\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -64,7 +64,7 @@ Tag : 「路径 DP」、「动态规划」、「记忆化搜索」 我大概会这样设计: -```Java [] +```Java int dfs(int x, int y, int k) {} ``` @@ -220,7 +220,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.576` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.576` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/581-590/581. \346\234\200\347\237\255\346\227\240\345\272\217\350\277\236\347\273\255\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/581-590/581. \346\234\200\347\237\255\346\227\240\345\272\217\350\277\236\347\273\255\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" index 835e683a..b878d120 100644 --- "a/LeetCode/581-590/581. \346\234\200\347\237\255\346\227\240\345\272\217\350\277\236\347\273\255\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/581-590/581. \346\234\200\347\237\255\346\227\240\345\272\217\350\277\236\347\273\255\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -110,11 +110,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.581` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.581` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/581-590/583. \344\270\244\344\270\252\345\255\227\347\254\246\344\270\262\347\232\204\345\210\240\351\231\244\346\223\215\344\275\234\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/581-590/583. \344\270\244\344\270\252\345\255\227\347\254\246\344\270\262\347\232\204\345\210\240\351\231\244\346\223\215\344\275\234\357\274\210\344\270\255\347\255\211\357\274\211.md" index 83c05fc2..386162ad 100644 --- "a/LeetCode/581-590/583. \344\270\244\344\270\252\345\255\227\347\254\246\344\270\262\347\232\204\345\210\240\351\231\244\346\223\215\344\275\234\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/581-590/583. \344\270\244\344\270\252\345\255\227\347\254\246\344\270\262\347\232\204\345\210\240\351\231\244\346\223\215\344\275\234\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -115,7 +115,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/591-600/594. \346\234\200\351\225\277\345\222\214\350\260\220\345\255\220\345\272\217\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/591-600/594. \346\234\200\351\225\277\345\222\214\350\260\220\345\255\220\345\272\217\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" index b750cf8f..a1de2db8 100644 --- "a/LeetCode/591-600/594. \346\234\200\351\225\277\345\222\214\350\260\220\345\255\220\345\272\217\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/591-600/594. \346\234\200\351\225\277\345\222\214\350\260\220\345\255\220\345\272\217\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -95,7 +95,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/591-600/598. \350\214\203\345\233\264\346\261\202\345\222\214 II\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/591-600/598. \350\214\203\345\233\264\346\261\202\345\222\214 II\357\274\210\347\256\200\345\215\225\357\274\211.md" index 777e8902..a98be0ef 100644 --- "a/LeetCode/591-600/598. \350\214\203\345\233\264\346\261\202\345\222\214 II\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/591-600/598. \350\214\203\345\233\264\346\261\202\345\222\214 II\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -76,7 +76,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/591-600/600. \344\270\215\345\220\253\350\277\236\347\273\2551\347\232\204\351\235\236\350\264\237\346\225\264\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/591-600/600. \344\270\215\345\220\253\350\277\236\347\273\2551\347\232\204\351\235\236\350\264\237\346\225\264\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" index 72b576cf..877dd1d8 100644 --- "a/LeetCode/591-600/600. \344\270\215\345\220\253\350\277\236\347\273\2551\347\232\204\351\235\236\350\264\237\346\225\264\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/591-600/600. \344\270\215\345\220\253\350\277\236\347\273\2551\347\232\204\351\235\236\350\264\237\346\225\264\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -111,7 +111,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/61-70/61. \346\227\213\350\275\254\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/61-70/61. \346\227\213\350\275\254\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" index ed8bb3e2..57e9ba12 100644 --- "a/LeetCode/61-70/61. \346\227\213\350\275\254\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/61-70/61. \346\227\213\350\275\254\351\223\276\350\241\250\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -113,7 +113,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.61` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.61` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/61-70/65. \346\234\211\346\225\210\346\225\260\345\255\227\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/61-70/65. \346\234\211\346\225\210\346\225\260\345\255\227\357\274\210\345\233\260\351\232\276\357\274\211.md" index bcc6cfbb..a10eeb5e 100644 --- "a/LeetCode/61-70/65. \346\234\211\346\225\210\346\225\260\345\255\227\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/61-70/65. \346\234\211\346\225\210\346\225\260\345\255\227\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -82,7 +82,7 @@ Tag : 「模拟」 * 至少存在一个数字 代码: -```Java [] +```Java class Solution { public boolean isNumber(String s) { int n = s.length(); @@ -128,7 +128,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.65` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.65` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/631-640/633. \345\271\263\346\226\271\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/631-640/633. \345\271\263\346\226\271\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" index 7bf8e1f8..fc7b820c 100644 --- "a/LeetCode/631-640/633. \345\271\263\346\226\271\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/631-640/633. \345\271\263\346\226\271\346\225\260\344\271\213\345\222\214\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -61,7 +61,7 @@ Tag : 「数学」、「双指针」 这样做的复杂度为 $O(\sqrt{c})$。 代码: -```Java [] +```Java class Solution { public boolean judgeSquareSum(int c) { int max = (int)Math.sqrt(c); @@ -87,7 +87,7 @@ class Solution { * $a^2 + b^2 > c$ : 当前值比目标值要大,`b--` 代码: -```Java [] +```Java class Solution { public boolean judgeSquareSum(int c) { int a = 0, b = (int)Math.sqrt(c); @@ -119,7 +119,7 @@ class Solution { 因此我们对 `c` 进行质因数分解,再判断满足 `4k+3` 形式的质因子的次方数是否均为偶数即可。 代码: -```Java [] +```Java public class Solution { public boolean judgeSquareSum(int c) { for (int i = 2, cnt = 0; i * i <= c; i++, cnt = 0) { @@ -155,7 +155,7 @@ public class Solution { 有的,在这里。喜欢的话可以考虑背过: -```Java [] +```Java public class Solution { public boolean judgeSquareSum(int c) { for (int i = 2; i * i <= c; i++) { @@ -175,11 +175,11 @@ public class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.633` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.633` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/631-640/638. \345\244\247\347\244\274\345\214\205\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/631-640/638. \345\244\247\347\244\274\345\214\205\357\274\210\344\270\255\347\255\211\357\274\211.md" index e0134ce4..aed22157 100644 --- "a/LeetCode/631-640/638. \345\244\247\347\244\274\345\214\205\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/631-640/638. \345\244\247\347\244\274\345\214\205\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -190,7 +190,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/631-640/639. \350\247\243\347\240\201\346\226\271\346\263\225 II\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/631-640/639. \350\247\243\347\240\201\346\226\271\346\263\225 II\357\274\210\345\233\260\351\232\276\357\274\211.md" index e0ac5d5c..345d6347 100644 --- "a/LeetCode/631-640/639. \350\247\243\347\240\201\346\226\271\346\263\225 II\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/631-640/639. \350\247\243\347\240\201\346\226\271\346\263\225 II\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -274,7 +274,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/641-650/643. \345\255\220\346\225\260\347\273\204\346\234\200\345\244\247\345\271\263\345\235\207\346\225\260 I\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/641-650/643. \345\255\220\346\225\260\347\273\204\346\234\200\345\244\247\345\271\263\345\235\207\346\225\260 I\357\274\210\347\256\200\345\215\225\357\274\211.md" index da41f97c..aeb208be 100644 --- "a/LeetCode/641-650/643. \345\255\220\346\225\260\347\273\204\346\234\200\345\244\247\345\271\263\345\235\207\346\225\260 I\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/641-650/643. \345\255\220\346\225\260\347\273\204\346\234\200\345\244\247\345\271\263\345\235\207\346\225\260 I\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -36,7 +36,7 @@ Tag : 「滑动窗口」 2. 继续滑动窗口,每往前滑动一次,需要删除一个和添加一个元素 代码: -```Java [] +```Java class Solution { public double findMaxAverage(int[] nums, int k) { double ans = 0, sum = 0; @@ -57,11 +57,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.643` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.643` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/641-650/645. \351\224\231\350\257\257\347\232\204\351\233\206\345\220\210\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/641-650/645. \351\224\231\350\257\257\347\232\204\351\233\206\345\220\210\357\274\210\347\256\200\345\215\225\357\274\211.md" index 461d20b2..a9f4d0ab 100644 --- "a/LeetCode/641-650/645. \351\224\231\350\257\257\347\232\204\351\233\206\345\220\210\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/641-650/645. \351\224\231\350\257\257\347\232\204\351\233\206\345\220\210\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -40,7 +40,7 @@ Tag : 「模拟」、「哈希表」、「数学」、「桶排序」 ![image.png](https://pic.leetcode-cn.com/1625361301-zSXKwt-image.png) 代码: -```Java [] +```Java class Solution { public int[] findErrorNums(int[] nums) { int n = nums.length; @@ -73,7 +73,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1625361330-WOsCfu-image.png) 代码; -```Java [] +```Java class Solution { public int[] findErrorNums(int[] nums) { int n = nums.length; @@ -103,7 +103,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1625363217-mJBxQJ-image.png) 代码: -```Java [] +```Java class Solution { public int[] findErrorNums(int[] nums) { int n = nums.length; diff --git "a/LeetCode/641-650/650. \345\217\252\346\234\211\344\270\244\344\270\252\351\224\256\347\232\204\351\224\256\347\233\230\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/641-650/650. \345\217\252\346\234\211\344\270\244\344\270\252\351\224\256\347\232\204\351\224\256\347\233\230\357\274\210\344\270\255\347\255\211\357\274\211.md" index d2c9970d..b62d26d5 100644 --- "a/LeetCode/641-650/650. \345\217\252\346\234\211\344\270\244\344\270\252\351\224\256\347\232\204\351\224\256\347\233\230\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/641-650/650. \345\217\252\346\234\211\344\270\244\344\270\252\351\224\256\347\232\204\351\224\256\347\233\230\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -184,7 +184,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/661-670/661. \345\233\276\347\211\207\345\271\263\346\273\221\345\231\250\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/661-670/661. \345\233\276\347\211\207\345\271\263\346\273\221\345\231\250\357\274\210\347\256\200\345\215\225\357\274\211.md" index 035cb457..08f85772 100644 --- "a/LeetCode/661-670/661. \345\233\276\347\211\207\345\271\263\346\273\221\345\231\250\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/661-670/661. \345\233\276\347\211\207\345\271\263\346\273\221\345\231\250\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -158,7 +158,7 @@ class Solution: ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.661` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.661` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/661-670/664. \345\245\207\346\200\252\347\232\204\346\211\223\345\215\260\346\234\272\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/661-670/664. \345\245\207\346\200\252\347\232\204\346\211\223\345\215\260\346\234\272\357\274\210\345\233\260\351\232\276\357\274\211.md" index 30aa9366..95a123f0 100644 --- "a/LeetCode/661-670/664. \345\245\207\346\200\252\347\232\204\346\211\223\345\215\260\346\234\272\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/661-670/664. \345\245\207\346\200\252\347\232\204\346\211\223\345\215\260\346\234\272\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -86,7 +86,7 @@ Tag : 「区间 DP」 最终的 $f[l][r]$ 为上述所有方案中取 $min$。 代码: -```Java [] +```Java class Solution { public int strangePrinter(String s) { int n = s.length(); @@ -124,11 +124,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.664` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.664` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/671-680/671. \344\272\214\345\217\211\346\240\221\344\270\255\347\254\254\344\272\214\345\260\217\347\232\204\350\212\202\347\202\271\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/671-680/671. \344\272\214\345\217\211\346\240\221\344\270\255\347\254\254\344\272\214\345\260\217\347\232\204\350\212\202\347\202\271\357\274\210\347\256\200\345\215\225\357\274\211.md" index 4b096277..16992208 100644 --- "a/LeetCode/671-680/671. \344\272\214\345\217\211\346\240\221\344\270\255\347\254\254\344\272\214\345\260\217\347\232\204\350\212\202\347\202\271\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/671-680/671. \344\272\214\345\217\211\346\240\221\344\270\255\347\254\254\344\272\214\345\260\217\347\232\204\350\212\202\347\202\271\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -111,7 +111,7 @@ class Solution { 解法一显然没有利用到本题核心条件 :「`root.val = min(root.left.val, root.right.val)`」和「每个子节点数量要么是 `0` 要么是 `2`」。 我们可以设计如下递归函数,含义为 **从 `root` 为根的树进行搜索,找到值比 `cur` 大的最小数**。然后使用全局变量 `ans` 存储答案。 -```Java [] +```Java void dfs(TreeNode root, int cur) ``` diff --git "a/LeetCode/681-690/686. \351\207\215\345\244\215\345\217\240\345\212\240\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/681-690/686. \351\207\215\345\244\215\345\217\240\345\212\240\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215\357\274\210\344\270\255\347\255\211\357\274\211.md" index 50c0905b..045133e5 100644 --- "a/LeetCode/681-690/686. \351\207\215\345\244\215\345\217\240\345\212\240\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/681-690/686. \351\207\215\345\244\215\345\217\240\345\212\240\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -247,7 +247,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/681-690/689. \344\270\211\344\270\252\346\227\240\351\207\215\345\217\240\345\255\220\346\225\260\347\273\204\347\232\204\346\234\200\345\244\247\345\222\214\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/681-690/689. \344\270\211\344\270\252\346\227\240\351\207\215\345\217\240\345\255\220\346\225\260\347\273\204\347\232\204\346\234\200\345\244\247\345\222\214\357\274\210\345\233\260\351\232\276\357\274\211.md" index 0c7c140c..2d5929de 100644 --- "a/LeetCode/681-690/689. \344\270\211\344\270\252\346\227\240\351\207\215\345\217\240\345\255\220\346\225\260\347\273\204\347\232\204\346\234\200\345\244\247\345\222\214\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/681-690/689. \344\270\211\344\270\252\346\227\240\351\207\215\345\217\240\345\255\220\346\225\260\347\273\204\347\232\204\346\234\200\345\244\247\345\222\214\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -151,7 +151,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/681-690/690. \345\221\230\345\267\245\347\232\204\351\207\215\350\246\201\346\200\247\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/681-690/690. \345\221\230\345\267\245\347\232\204\351\207\215\350\246\201\346\200\247\357\274\210\347\256\200\345\215\225\357\274\211.md" index 0abc523b..3e50983a 100644 --- "a/LeetCode/681-690/690. \345\221\230\345\267\245\347\232\204\351\207\215\350\246\201\346\200\247\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/681-690/690. \345\221\230\345\267\245\347\232\204\351\207\215\350\246\201\346\200\247\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -36,7 +36,7 @@ Tag : 「BFS」、「DFS」、「队列」 统计自身的 $importance$ 值和直系下属的 $importance$ 值。同时如果某个下属还有下属的话,则递归这个过程。 代码: -```Java [] +```Java class Solution { Map map = new HashMap<>(); public int getImportance(List es, int id) { @@ -66,7 +66,7 @@ class Solution { 另外一个做法是使用「队列」来存储所有将要计算的 $Employee$ 对象,每次弹出时进行统计,并将其「下属」添加到队列尾部。 代码: -```Java [] +```Java class Solution { public int getImportance(List es, int id) { int n = es.size(); @@ -93,11 +93,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.690` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.690` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/691-700/692. \345\211\215K\344\270\252\351\253\230\351\242\221\345\215\225\350\257\215\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/691-700/692. \345\211\215K\344\270\252\351\253\230\351\242\221\345\215\225\350\257\215\357\274\210\344\270\255\347\255\211\357\274\211.md" index 587486b1..b8df1c86 100644 --- "a/LeetCode/691-700/692. \345\211\215K\344\270\252\351\253\230\351\242\221\345\215\225\350\257\215\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/691-700/692. \345\211\215K\344\270\252\351\253\230\351\242\221\345\215\225\350\257\215\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -63,7 +63,7 @@ Tag : 「哈希表」、「优先队列」 4. 输出堆内元素,并翻转 代码: -```Java [] +```Java class Solution { public List topKFrequent(String[] ws, int k) { Map map = new HashMap<>(); @@ -108,11 +108,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.692` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.692` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/691-700/697. \346\225\260\347\273\204\347\232\204\345\272\246\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/691-700/697. \346\225\260\347\273\204\347\232\204\345\272\246\357\274\210\347\256\200\345\215\225\357\274\211.md" index 71c38a54..d11c2d09 100644 --- "a/LeetCode/691-700/697. \346\225\260\347\273\204\347\232\204\345\272\246\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/691-700/697. \346\225\260\347\273\204\347\232\204\345\272\246\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -45,7 +45,7 @@ Tag : 「哈希表」 然后再遍历一次数组,对于那些满足词频为 `max` 的数值进行长度计算。 -```Java [] +```Java class Solution { int N = 50009; public int findShortestSubArray(int[] nums) { @@ -125,7 +125,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.697` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.697` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/701-710/703. \346\225\260\346\215\256\346\265\201\344\270\255\347\232\204\347\254\254 K \345\244\247\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/701-710/703. \346\225\260\346\215\256\346\265\201\344\270\255\347\232\204\347\254\254 K \345\244\247\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" index e5f0f376..436b17c7 100644 --- "a/LeetCode/701-710/703. \346\225\260\346\215\256\346\265\201\344\270\255\347\232\204\347\254\254 K \345\244\247\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/701-710/703. \346\225\260\346\215\256\346\265\201\344\270\255\347\232\204\347\254\254 K \345\244\247\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -45,7 +45,7 @@ kthLargest.add(4); // return 8 每次调用 `add` 时先将数装入数组,然后遍历 `k` 次,通过找 `k` 次最大值来找到 Top K。 代码: -```Java [] +```Java class KthLargest { int k; List list = new ArrayList<>(10009); @@ -92,7 +92,7 @@ class KthLargest { 我们可以使用快排来代替冒泡,将复杂度变为 $O(n\log{n})$。 代码: -```Java [] +```Java class KthLargest { int k; List list = new ArrayList<>(10009); @@ -131,7 +131,7 @@ class KthLargest { 将堆顶元素进行返回(数据保证返回答案时,堆内必然有 `k` 个元素): 代码: -```Java [] +```Java class KthLargest { int k; PriorityQueue queue; @@ -159,7 +159,7 @@ class KthLargest { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.703` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.703` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/701-710/705. \350\256\276\350\256\241\345\223\210\345\270\214\351\233\206\345\220\210\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/701-710/705. \350\256\276\350\256\241\345\223\210\345\270\214\351\233\206\345\220\210\357\274\210\347\256\200\345\215\225\357\274\211.md" index 318fa438..350ca329 100644 --- "a/LeetCode/701-710/705. \350\256\276\350\256\241\345\223\210\345\270\214\351\233\206\345\220\210\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/701-710/705. \350\256\276\350\256\241\345\223\210\345\270\214\351\233\206\345\220\210\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -49,7 +49,7 @@ myHashSet.contains(2); // 返回 False ,(已移除) 我们可以直接使用一个 boolean 数组记录某个 key 是否存在,key 直接对应 boolean 的下标。 代码: -```Java [] +```Java class MyHashSet { boolean[] nodes = new boolean[1000009]; @@ -78,7 +78,7 @@ class MyHashSet { 我们利用「链表」来构建 Set,这也是工程上最简单的一种实现方式。 代码: -```Java [] +```Java class MyHashSet { // 由于使用的是「链表」,这个值可以取得很小 Node[] nodes = new Node[10009]; @@ -189,7 +189,7 @@ class MyHashSet { 根据位运算对「精确位置」进行修改。 代码: -```Java [] +```Java class MyHashSet { int[] bs = new int[40000]; public void add(int key) { @@ -233,11 +233,11 @@ class MyHashSet { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.705` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.705` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/701-710/706. \350\256\276\350\256\241\345\223\210\345\270\214\346\230\240\345\260\204\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/701-710/706. \350\256\276\350\256\241\345\223\210\345\270\214\346\230\240\345\260\204\357\274\210\347\256\200\345\215\225\357\274\211.md" index c8e20d19..ac91386e 100644 --- "a/LeetCode/701-710/706. \350\256\276\350\256\241\345\223\210\345\270\214\346\230\240\345\260\204\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/701-710/706. \350\256\276\350\256\241\345\223\210\345\270\214\346\230\240\345\260\204\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -249,11 +249,11 @@ class MyHashMap { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.706` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.706` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/701-710/709. \350\275\254\346\215\242\346\210\220\345\260\217\345\206\231\345\255\227\346\257\215\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/701-710/709. \350\275\254\346\215\242\346\210\220\345\260\217\345\206\231\345\255\227\346\257\215\357\274\210\347\256\200\345\215\225\357\274\211.md" index 0528ea4f..aa434959 100644 --- "a/LeetCode/701-710/709. \350\275\254\346\215\242\346\210\220\345\260\217\345\206\231\345\255\227\346\257\215\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/701-710/709. \350\275\254\346\215\242\346\210\220\345\260\217\345\206\231\345\255\227\346\257\215\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -56,7 +56,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/71-80/74. \346\220\234\347\264\242\344\272\214\347\273\264\347\237\251\351\230\265\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/71-80/74. \346\220\234\347\264\242\344\272\214\347\273\264\347\237\251\351\230\265\357\274\210\344\270\255\347\255\211\357\274\211.md" index d9e95421..4f85afda 100644 --- "a/LeetCode/71-80/74. \346\220\234\347\264\242\344\272\214\347\273\264\347\237\251\351\230\265\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/71-80/74. \346\220\234\347\264\242\344\272\214\347\273\264\347\237\251\351\230\265\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -50,7 +50,7 @@ Tag : 「二叉搜索树」、「二分」 2. 第二次二分:从 `row` 中「所有列」开始找,找到合适的列 `col` 代码: -```Java [] +```Java class Solution { public boolean searchMatrix(int[][] mat, int t) { int m = mat.length, n = mat[0].length; @@ -98,7 +98,7 @@ class Solution { 我们可以将「二维矩阵」当做「一维矩阵」来做。 代码: -```Java [] +```Java class Solution { public boolean searchMatrix(int[][] mat, int t) { int m = mat.length, n = mat[0].length; @@ -132,7 +132,7 @@ class Solution { 2. 当前节点「小于」目标值,搜索当前节点的「右子树」,也就是当前矩阵位置的「下方格子」,即 x++ 代码: -```Java [] +```Java class Solution { int m, n; public boolean searchMatrix(int[][] mat, int t) { @@ -168,7 +168,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.74` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.74` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/71-80/80. \345\210\240\351\231\244\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\351\207\215\345\244\215\351\241\271 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/71-80/80. \345\210\240\351\231\244\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\351\207\215\345\244\215\351\241\271 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index cf649a9b..e17353fc 100644 --- "a/LeetCode/71-80/80. \345\210\240\351\231\244\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\351\207\215\345\244\215\351\241\271 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/71-80/80. \345\210\240\351\231\244\346\234\211\345\272\217\346\225\260\347\273\204\344\270\255\347\232\204\351\207\215\345\244\215\351\241\271 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -76,7 +76,7 @@ for (int i = 0; i < len; i++) { 代码: -```Java [] +```Java class Solution { public int removeDuplicates(int[] nums) { return process(nums, 2); @@ -93,7 +93,7 @@ class Solution { * 时间复杂度:$O(n)$ * 空间复杂度:$O(1)$ -*** +--- ### 其他 @@ -107,7 +107,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.80` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.80` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/721-730/724. \345\257\273\346\211\276\346\225\260\347\273\204\347\232\204\344\270\255\345\277\203\344\270\213\346\240\207\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/721-730/724. \345\257\273\346\211\276\346\225\260\347\273\204\347\232\204\344\270\255\345\277\203\344\270\213\346\240\207\357\274\210\347\256\200\345\215\225\357\274\211.md" index 6c2db07a..2f582dfa 100644 --- "a/LeetCode/721-730/724. \345\257\273\346\211\276\346\225\260\347\273\204\347\232\204\344\270\255\345\277\203\344\270\213\346\240\207\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/721-730/724. \345\257\273\346\211\276\346\225\260\347\273\204\347\232\204\344\270\255\345\277\203\344\270\213\346\240\207\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -67,7 +67,7 @@ Tag : 「前缀和」 这里由于要求前后前缀和。所以我们直接多开两位。 代码: -```Java [] +```Java class Solution { public int pivotIndex(int[] nums) { int n = nums.length; @@ -95,7 +95,7 @@ class Solution { 但这只是常数级别的优化,并不影响其时空复杂度。 代码: -```Java [] +```Java class Solution { public int pivotIndex(int[] nums) { int n = nums.length; @@ -123,7 +123,7 @@ class Solution { 对于中心索引必然有:`sum = total - sum - nums[i]` (左边值 = 右边值) 代码: -```Java [] +```Java class Solution { public int pivotIndex(int[] nums) { int n = nums.length; @@ -148,7 +148,7 @@ class Solution { 这是我使用到的前缀和模板(高频): -```Java [] +```Java class Solution { public void func(int[] nums) { int n = nums.length; @@ -162,11 +162,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.724` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.724` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/721-730/726. \345\216\237\345\255\220\347\232\204\346\225\260\351\207\217\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/721-730/726. \345\216\237\345\255\220\347\232\204\346\225\260\351\207\217\357\274\210\345\233\260\351\232\276\357\274\211.md" index b11fb373..b5320f21 100644 --- "a/LeetCode/721-730/726. \345\216\237\345\255\220\347\232\204\346\225\260\351\207\217\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/721-730/726. \345\216\237\345\255\220\347\232\204\346\225\260\351\207\217\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -79,7 +79,7 @@ Tag : 「模拟」、「数据结构运用」、「栈」、「哈希表」、 4. 使用「优先队列(堆)」实现字典序排序(也可以直接使用 `List`,然后通过 `Collections.sort` 进行排序),并构造答案。 代码: -```Java [] +```Java class Solution { class Node { String s; int v; diff --git "a/LeetCode/731-740/740. \345\210\240\351\231\244\345\271\266\350\216\267\345\276\227\347\202\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/731-740/740. \345\210\240\351\231\244\345\271\266\350\216\267\345\276\227\347\202\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index 252a2e42..76e39ed7 100644 --- "a/LeetCode/731-740/740. \345\210\240\351\231\244\345\271\266\350\216\267\345\276\227\347\202\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/731-740/740. \345\210\240\351\231\244\345\271\266\350\216\267\345\276\227\347\202\271\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -61,7 +61,7 @@ Tag : 「序列 DP」 * **$f[i][1]$:当数值 $i$ 被选,那么前一个数只能「不选」,同时为了总和最大数值 $i$ 要选就全部选完。转移方程为 $f[i][1] = f[i - 1][0] + i * cnts[i]$** 代码: -```Java [] +```Java class Solution { int[] cnts = new int[10009]; public int deleteAndEarn(int[] nums) { @@ -88,11 +88,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.740` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.740` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/741-750/743. \347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/741-750/743. \347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264\357\274\210\344\270\255\347\255\211\357\274\211.md" index 37324851..d5177936 100644 --- "a/LeetCode/741-750/743. \347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/741-750/743. \347\275\221\347\273\234\345\273\266\350\277\237\346\227\266\351\227\264\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -81,7 +81,7 @@ void add(int a, int b, int c) { 适用于边数较少的**稀疏图**使用,当边数量接近点的数量,即 $m \approx n$ 时,可定义为**稀疏图**。 -```Java [] +```Java int[] he = new int[N], e = new int[M], ne = new int[M], w = new int[M]; int idx; diff --git "a/LeetCode/761-770/765. \346\203\205\344\276\243\347\211\265\346\211\213\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/761-770/765. \346\203\205\344\276\243\347\211\265\346\211\213\357\274\210\345\233\260\351\232\276\357\274\211.md" index 3e924842..90bec49e 100644 --- "a/LeetCode/761-770/765. \346\203\205\344\276\243\347\211\265\346\211\213\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/761-770/765. \346\203\205\344\276\243\347\211\265\346\211\213\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -50,7 +50,7 @@ N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手。 由于 0和1配对、2和3配对 ... 因此互为情侣的两个编号除以 2 对应同一个数字,可直接作为它们的「情侣组」编号: -```Java [] +```Java class Solution { int[] p = new int[70]; void union(int a, int b) { @@ -89,7 +89,7 @@ N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手。 同时为了方便我们找到某个值的下标,需要先对 `row` 进行预处理(可以使用哈希表或数组)。 -```Java [] +```Java class Solution { public int minSwapsCouples(int[] row) { int n = row.length; @@ -165,7 +165,7 @@ b. 现在先不处理第 `k` 个位置,等到后面的情侣处理的时候「 ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.765` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.765` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/761-770/766. \346\211\230\346\231\256\345\210\251\350\214\250\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/761-770/766. \346\211\230\346\231\256\345\210\251\350\214\250\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" index 65815433..a5443b6b 100644 --- "a/LeetCode/761-770/766. \346\211\230\346\231\256\345\210\251\350\214\250\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/761-770/766. \346\211\230\346\231\256\345\210\251\350\214\250\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -54,7 +54,7 @@ Tag : 「模拟」 这样我们每对一个格子进行判断,都要读 `matrix` 上的两个格子的值(即**非边缘格子其实会被读取两次**)。 -```Java [] +```Java class Solution { public boolean isToeplitzMatrix(int[][] matrix) { int m = matrix.length, n = matrix[0].length; @@ -84,7 +84,7 @@ class Solution { 这样对于每个格子,我们都是**严格只读取一次**(如果整个矩阵是存在磁盘中,且不考虑操作系统的按页读取等机制,那么 IO 成本将下降为原来的一半)。 -```Java [] +```Java class Solution { public boolean isToeplitzMatrix(int[][] matrix) { int m = matrix.length, n = matrix[0].length; @@ -129,7 +129,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.761` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.761` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/771-780/778. \346\260\264\344\275\215\344\270\212\345\215\207\347\232\204\346\263\263\346\261\240\344\270\255\346\270\270\346\263\263\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/771-780/778. \346\260\264\344\275\215\344\270\212\345\215\207\347\232\204\346\263\263\346\261\240\344\270\255\346\270\270\346\263\263\357\274\210\345\233\260\351\232\276\357\274\211.md" index 7fcc4de7..3fade241 100644 --- "a/LeetCode/771-780/778. \346\260\264\344\275\215\344\270\212\345\215\207\347\232\204\346\263\263\346\261\240\344\270\255\346\270\270\346\263\263\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/771-780/778. \346\260\264\344\275\215\344\270\212\345\215\207\347\232\204\346\263\263\346\261\240\344\270\255\346\270\270\346\263\263\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -171,7 +171,7 @@ class Solution { 代码: -```Java [] +```Java class Solution { int[][] dirs = new int[][]{{1,0}, {-1,0}, {0,1}, {0,-1}}; public int swimInWater(int[][] grid) { diff --git "a/LeetCode/781-790/781. \346\243\256\346\236\227\344\270\255\347\232\204\345\205\224\345\255\220\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/781-790/781. \346\243\256\346\236\227\344\270\255\347\232\204\345\205\224\345\255\220\357\274\210\344\270\255\347\255\211\357\274\211.md" index 7e6611fc..7723be37 100644 --- "a/LeetCode/781-790/781. \346\243\256\346\236\227\344\270\255\347\232\204\345\205\224\345\255\220\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/781-790/781. \346\243\256\346\236\227\344\270\255\347\232\204\345\205\224\345\255\220\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -83,7 +83,7 @@ Tag : 「贪心算法」 按照上述思路,我们可以先对 $answers$ 进行排序,然后根据遍历到某个 $cnt$ 时,将其对答案的影响应用到 $ans$ 中(`ans += cnt + 1`),并将后面的 $cnt$ 个 $cnt$ 进行忽略。 代码: -```Java [] +```Java class Solution { public int numRabbits(int[] cs) { Arrays.sort(cs); @@ -110,7 +110,7 @@ class Solution { 我们也可以先对所有出现过的数字进行统计,然后再对数值进行(颜色)分配。 代码: -```Java [] +```Java class Solution { int N = 1009; int[] counts = new int[N]; @@ -143,11 +143,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.781` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.781` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/781-790/783. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\212\202\347\202\271\346\234\200\345\260\217\350\267\235\347\246\273\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/781-790/783. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\212\202\347\202\271\346\234\200\345\260\217\350\267\235\347\246\273\357\274\210\347\256\200\345\215\225\357\274\211.md" index 71c302f5..99058c0b 100644 --- "a/LeetCode/781-790/783. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\212\202\347\202\271\346\234\200\345\260\217\350\267\235\347\246\273\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/781-790/783. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\350\212\202\347\202\271\346\234\200\345\260\217\350\267\235\347\246\273\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -135,11 +135,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.783` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.783` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/781-790/786. \347\254\254 K \344\270\252\346\234\200\345\260\217\347\232\204\347\264\240\346\225\260\345\210\206\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/781-790/786. \347\254\254 K \344\270\252\346\234\200\345\260\217\347\232\204\347\264\240\346\225\260\345\210\206\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" index 30fb8089..0507773b 100644 --- "a/LeetCode/781-790/786. \347\254\254 K \344\270\252\346\234\200\345\260\217\347\232\204\347\264\240\346\225\260\345\210\206\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/781-790/786. \347\254\254 K \344\270\252\346\234\200\345\260\217\347\232\204\347\264\240\346\225\260\345\210\206\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -174,7 +174,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/781-790/787. K \347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/781-790/787. K \347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255\357\274\210\344\270\255\347\255\211\357\274\211.md" index d7a6e7e7..b405f517 100644 --- "a/LeetCode/781-790/787. K \347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/781-790/787. K \347\253\231\344\270\255\350\275\254\345\206\205\346\234\200\344\276\277\345\256\234\347\232\204\350\210\252\347\217\255\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -202,7 +202,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/781-790/789. \351\200\203\350\204\261\351\230\273\347\242\215\350\200\205\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/781-790/789. \351\200\203\350\204\261\351\230\273\347\242\215\350\200\205\357\274\210\344\270\255\347\255\211\357\274\211.md" index c154922e..94ecd00e 100644 --- "a/LeetCode/781-790/789. \351\200\203\350\204\261\351\230\273\347\242\215\350\200\205\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/781-790/789. \351\200\203\350\204\261\351\230\273\347\242\215\350\200\205\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -113,7 +113,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/801-810/807. \344\277\235\346\214\201\345\237\216\345\270\202\345\244\251\351\231\205\347\272\277\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/801-810/807. \344\277\235\346\214\201\345\237\216\345\270\202\345\244\251\351\231\205\347\272\277\357\274\210\344\270\255\347\255\211\357\274\211.md" index 1cd299f4..8de176fe 100644 --- "a/LeetCode/801-810/807. \344\277\235\346\214\201\345\237\216\345\270\202\345\244\251\351\231\205\347\272\277\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/801-810/807. \344\277\235\346\214\201\345\237\216\345\270\202\345\244\251\351\231\205\347\272\277\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -85,7 +85,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/801-810/810. \351\273\221\346\235\277\345\274\202\346\210\226\346\270\270\346\210\217\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/801-810/810. \351\273\221\346\235\277\345\274\202\346\210\226\346\270\270\346\210\217\357\274\210\345\233\260\351\232\276\357\274\211.md" index 1621d9d6..843b90bd 100644 --- "a/LeetCode/801-810/810. \351\273\221\346\235\277\345\274\202\346\210\226\346\270\270\346\210\217\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/801-810/810. \351\273\221\346\235\277\345\274\202\346\210\226\346\270\270\346\210\217\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -113,7 +113,7 @@ $$(Sum ⊕ Sum ⊕ ... ⊕ Sum) ⊕ Sum = 0 , Sum \neq 0$$ **综上,如果序列 `nums` 本身异或和为 $0$,天然符合「先手必胜态」的条件,答案返回 `True` ;如果序列 `nums` 异或和不为 $0$,但序列长度为偶数,那么最终会出现「后手必败态」,推导出先手必胜,答案返回 `True`。** 代码: -```Java [] +```Java class Solution { public boolean xorGame(int[] nums) { int sum = 0; @@ -143,11 +143,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.810` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.810` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/81-90/81. \346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/81-90/81. \346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index b207556e..d4ddebd2 100644 --- "a/LeetCode/81-90/81. \346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/81-90/81. \346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -131,7 +131,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.81` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.81` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/81-90/82. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/81-90/82. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index 07c792aa..7d983874 100644 --- "a/LeetCode/81-90/82. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/81-90/82. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -107,7 +107,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.82` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.82` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/81-90/83. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/81-90/83. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" index edb6c2f1..865050b1 100644 --- "a/LeetCode/81-90/83. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/81-90/83. \345\210\240\351\231\244\346\216\222\345\272\217\351\223\276\350\241\250\344\270\255\347\232\204\351\207\215\345\244\215\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -99,7 +99,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.83` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.83` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/81-90/87. \346\211\260\344\271\261\345\255\227\347\254\246\344\270\262\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/81-90/87. \346\211\260\344\271\261\345\255\227\347\254\246\344\270\262\357\274\210\345\233\260\351\232\276\357\274\211.md" index 537a2181..b1d0b3f9 100644 --- "a/LeetCode/81-90/87. \346\211\260\344\271\261\345\255\227\347\254\246\344\270\262\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/81-90/87. \346\211\260\344\271\261\345\255\227\347\254\246\344\270\262\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -267,7 +267,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.87` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.87` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/81-90/88. \345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\346\225\260\347\273\204\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/81-90/88. \345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\346\225\260\347\273\204\357\274\210\347\256\200\345\215\225\357\274\211.md" index 54bbdeca..566e7446 100644 --- "a/LeetCode/81-90/88. \345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\346\225\260\347\273\204\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/81-90/88. \345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\346\225\260\347\273\204\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -167,7 +167,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.88` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.88` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/81-90/90. \345\255\220\351\233\206 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/81-90/90. \345\255\220\351\233\206 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index 1c5f10e6..2a5545a4 100644 --- "a/LeetCode/81-90/90. \345\255\220\351\233\206 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/81-90/90. \345\255\220\351\233\206 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -188,7 +188,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.90` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.90` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/811-820/815. \345\205\254\344\272\244\350\267\257\347\272\277\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/811-820/815. \345\205\254\344\272\244\350\267\257\347\272\277\357\274\210\345\233\260\351\232\276\357\274\211.md" index 2a2afeb9..59a3c4fd 100644 --- "a/LeetCode/811-820/815. \345\205\254\344\272\244\350\267\257\347\272\277\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/811-820/815. \345\205\254\344\272\244\350\267\257\347\272\277\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -64,7 +64,7 @@ Tag : 「图论 BFS」、「双向 BFS」、「图论搜索」 ![image.png](https://pic.leetcode-cn.com/1624848368-HimklT-image.png) 代码: -```Java [] +```Java class Solution { int s, t; int[][] rs; @@ -137,7 +137,7 @@ class Solution { ![image.png](https://pic.leetcode-cn.com/1624849722-IqAFXu-image.png) 代码: -```Java [] +```Java class Solution { static int N = (int)1e6+10; static int[] p = new int[N]; diff --git "a/LeetCode/831-840/832. \347\277\273\350\275\254\345\233\276\345\203\217\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/831-840/832. \347\277\273\350\275\254\345\233\276\345\203\217\357\274\210\347\256\200\345\215\225\357\274\211.md" index fa2a52b9..087aaadc 100644 --- "a/LeetCode/831-840/832. \347\277\273\350\275\254\345\233\276\345\203\217\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/831-840/832. \347\277\273\350\275\254\345\233\276\345\203\217\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -126,7 +126,7 @@ Arrays.copyOf() 和 Arrays.copyOfRange() 都会内部创建目标数组。前者 ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.832` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.832` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/851-860/852. \345\261\261\350\204\211\346\225\260\347\273\204\347\232\204\345\263\260\351\241\266\347\264\242\345\274\225\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/851-860/852. \345\261\261\350\204\211\346\225\260\347\273\204\347\232\204\345\263\260\351\241\266\347\264\242\345\274\225\357\274\210\347\256\200\345\215\225\357\274\211.md" index 49983673..e0e0746a 100644 --- "a/LeetCode/851-860/852. \345\261\261\350\204\211\346\225\260\347\273\204\347\232\204\345\263\260\351\241\266\347\264\242\345\274\225\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/851-860/852. \345\261\261\350\204\211\346\225\260\347\273\204\347\232\204\345\263\260\351\241\266\347\264\242\345\274\225\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -233,7 +233,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.852` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.852` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/861-870/863. \344\272\214\345\217\211\346\240\221\344\270\255\346\211\200\346\234\211\350\267\235\347\246\273\344\270\272 K \347\232\204\347\273\223\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/861-870/863. \344\272\214\345\217\211\346\240\221\344\270\255\346\211\200\346\234\211\350\267\235\347\246\273\344\270\272 K \347\232\204\347\273\223\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" index 16f5be8b..1139c9e6 100644 --- "a/LeetCode/861-870/863. \344\272\214\345\217\211\346\240\221\344\270\255\346\211\200\346\234\211\350\267\235\347\246\273\344\270\272 K \347\232\204\347\273\223\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/861-870/863. \344\272\214\345\217\211\346\240\221\344\270\255\346\211\200\346\234\211\350\267\235\347\246\273\344\270\272 K \347\232\204\347\273\223\347\202\271\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -60,7 +60,7 @@ Tag : 「图论 BFS」、「图论 DFS」、「二叉树」 ![image.png](https://pic.leetcode-cn.com/1627435303-JWROoB-image.png) 代码: -```Java [] +```Java class Solution { int N = 1010, M = N * 2; int[] he = new int[N], e = new int[M], ne = new int[M]; diff --git "a/LeetCode/861-870/867. \350\275\254\347\275\256\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/861-870/867. \350\275\254\347\275\256\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" index 22eed38a..847e313b 100644 --- "a/LeetCode/861-870/867. \350\275\254\347\275\256\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/861-870/867. \350\275\254\347\275\256\347\237\251\351\230\265\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -85,7 +85,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.867` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.867` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/871-880/872. \345\217\266\345\255\220\347\233\270\344\274\274\347\232\204\346\240\221\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/871-880/872. \345\217\266\345\255\220\347\233\270\344\274\274\347\232\204\346\240\221\357\274\210\347\256\200\345\215\225\357\274\211.md" index 455afa28..568c3e4b 100644 --- "a/LeetCode/871-880/872. \345\217\266\345\255\220\347\233\270\344\274\274\347\232\204\346\240\221\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/871-880/872. \345\217\266\345\255\220\347\233\270\344\274\274\347\232\204\346\240\221\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -68,7 +68,7 @@ root2 = [3,5,1,6,7,4,2,null,null,null,null,null,null,9,8] 递归写法十分简单,属于树的遍历中最简单的实现方式。 代码: -```Java [] +```Java class Solution { public boolean leafSimilar(TreeNode t1, TreeNode t2) { List l1 = new ArrayList<>(), l2 = new ArrayList<>(); @@ -105,7 +105,7 @@ class Solution { 一般简单的面试中如果问到树的遍历,面试官都不会对「递归」解法感到满意,因此掌握「迭代/非递归」写法同样重要。 代码: -```Java [] +```Java class Solution { public boolean leafSimilar(TreeNode t1, TreeNode t2) { List l1 = new ArrayList<>(), l2 = new ArrayList<>(); @@ -141,11 +141,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.872` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.872` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/871-880/877. \347\237\263\345\255\220\346\270\270\346\210\217\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/871-880/877. \347\237\263\345\255\220\346\270\270\346\210\217\357\274\210\344\270\255\347\255\211\357\274\211.md" index ea544681..6307ea13 100644 --- "a/LeetCode/871-880/877. \347\237\263\345\255\220\346\270\270\346\210\217\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/871-880/877. \347\237\263\345\255\220\346\270\270\346\210\217\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -65,7 +65,7 @@ $$ 按照从小到大「枚举区间长度」和「区间左端点」的常规做法进行求解即可。 代码: -```Java [] +```Java class Solution { public boolean stoneGame(int[] ps) { int n = ps.length; @@ -106,7 +106,7 @@ class Solution { 同时又由于所有石子总和为奇数,堆数为偶数,即没有平局,所以先手必胜。 代码: -```Java [] +```Java class Solution { public boolean stoneGame(int[] piles) { return true; diff --git "a/LeetCode/871-880/879. \347\233\210\345\210\251\350\256\241\345\210\222\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/871-880/879. \347\233\210\345\210\251\350\256\241\345\210\222\357\274\210\345\233\260\351\232\276\357\274\211.md" index e7a94dd9..9ecadab4 100644 --- "a/LeetCode/871-880/879. \347\233\210\345\210\251\350\256\241\345\210\222\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/871-880/879. \347\233\210\345\210\251\350\256\241\345\210\222\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -74,7 +74,7 @@ $$ 因此可以让所有 $f[0][x][0] = 1$。 代码(一维空间优化代码见 P2): -```Java [] +```Java class Solution { int mod = (int)1e9+7; public int profitableSchemes(int n, int min, int[] gs, int[] ps) { @@ -98,7 +98,7 @@ class Solution { } } ``` -```Java [] +```Java class Solution { int mod = (int)1e9+7; public int profitableSchemes(int n, int min, int[] gs, int[] ps) { @@ -135,7 +135,7 @@ class Solution { 由 `a` - `b` 即是答案。 代码: -```Java [] +```Java import java.math.BigInteger; class Solution { static int N = 105; @@ -193,11 +193,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.879` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.879` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/881-890/881. \346\225\221\347\224\237\350\211\207\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/881-890/881. \346\225\221\347\224\237\350\211\207\357\274\210\344\270\255\347\255\211\357\274\211.md" index de65e1af..ab275fb5 100644 --- "a/LeetCode/881-890/881. \346\225\221\347\224\237\350\211\207\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/881-890/881. \346\225\221\347\224\237\350\211\207\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -104,11 +104,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.881` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.881` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/881-890/888. \345\205\254\345\271\263\347\232\204\347\263\226\346\236\234\346\243\222\344\272\244\346\215\242\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/881-890/888. \345\205\254\345\271\263\347\232\204\347\263\226\346\236\234\346\243\222\344\272\244\346\215\242\357\274\210\347\256\200\345\215\225\357\274\211.md" index c20aea51..19878087 100644 --- "a/LeetCode/881-890/888. \345\205\254\345\271\263\347\232\204\347\263\226\346\236\234\346\243\222\344\272\244\346\215\242\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/881-890/888. \345\205\254\345\271\263\347\232\204\347\263\226\346\236\234\346\243\222\344\272\244\346\215\242\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -74,7 +74,7 @@ Tag : 「哈希表」 因此我们只需要遍历数组 `a`,查找哪一个 $a[i]$ 使得 $a[i] + diff$ 存在于数组 `b` 即可。 代码: -```Java [] +```Java class Solution { public int[] fairCandySwap(int[] a, int[] b) { int aSum = 0, bSum = 0; @@ -116,7 +116,7 @@ class Solution { 这种优化,是典型的空间换时间做法。 代码: -```Java [] +```Java class Solution { public int[] fairCandySwap(int[] a, int[] b) { // 先求得 a 的总和 @@ -153,11 +153,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.888` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.888` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/891-900/896. \345\215\225\350\260\203\346\225\260\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/891-900/896. \345\215\225\350\260\203\346\225\260\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" index 76636dc4..01b6f648 100644 --- "a/LeetCode/891-900/896. \345\215\225\350\260\203\346\225\260\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/891-900/896. \345\215\225\350\260\203\346\225\260\345\210\227\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -184,7 +184,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.896` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.896` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/891-900/897. \351\200\222\345\242\236\351\241\272\345\272\217\346\220\234\347\264\242\346\240\221\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/891-900/897. \351\200\222\345\242\236\351\241\272\345\272\217\346\220\234\347\264\242\346\240\221\357\274\210\347\256\200\345\215\225\357\274\211.md" index c1e1915c..96613f6c 100644 --- "a/LeetCode/891-900/897. \351\200\222\345\242\236\351\241\272\345\272\217\346\220\234\347\264\242\346\240\221\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/891-900/897. \351\200\222\345\242\236\351\241\272\345\272\217\346\220\234\347\264\242\346\240\221\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -47,7 +47,7 @@ Tag : 「树的遍历」、「递归」、「非递归」 递归写法十分简单,属于树的遍历中最简单的实现方式。 代码: -```Java [] +```Java class Solution { List list = new ArrayList<>(); public TreeNode increasingBST(TreeNode root) { @@ -81,7 +81,7 @@ class Solution { 一般简单的面试中如果问到树的遍历,面试官都不会对「递归」解法感到满意,因此掌握「迭代/非递归」写法同样重要。 代码: -```Java [] +```Java class Solution { List list = new ArrayList<>(); public TreeNode increasingBST(TreeNode root) { @@ -113,11 +113,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.897` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.897` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/901-910/909. \350\233\207\346\242\257\346\243\213\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/901-910/909. \350\233\207\346\242\257\346\243\213\357\274\210\344\270\255\347\255\211\357\274\211.md" index 559e2e3b..5e191af0 100644 --- "a/LeetCode/901-910/909. \350\233\207\346\242\257\346\243\213\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/901-910/909. \350\233\207\346\242\257\346\243\213\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -69,7 +69,7 @@ Tag : 「图论 BFS」 为了方便我们可以按照题目给定的意思,将二维的矩阵「扁平化」为一维的矩阵,然后再按照规则进行 `BFS`。 代码: -```Java [] +```Java class Solution { int n; int[] nums; @@ -116,7 +116,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.909` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.909` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/91-100/91. \350\247\243\347\240\201\346\226\271\346\263\225\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/91-100/91. \350\247\243\347\240\201\346\226\271\346\263\225\357\274\210\344\270\255\347\255\211\357\274\211.md" index bcdb9bc7..7db14c1f 100644 --- "a/LeetCode/91-100/91. \350\247\243\347\240\201\346\226\271\346\263\225\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/91-100/91. \350\247\243\347\240\201\346\226\271\346\263\225\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -112,7 +112,7 @@ $$ 其他细节:由于题目存在前导零,而前导零属于无效 `item`。可以进行特判,但个人习惯往字符串头部追加空格作为哨兵,追加空格既可以避免讨论前导零,也能使下标从 1 开始,简化 `f[i-1]` 等负数下标的判断。 代码: -```Java [] +```Java class Solution { public int numDecodings(String s) { int n = s.length(); @@ -145,7 +145,7 @@ class Solution { 因此我们可以采用与「滚动数组」类似的思路,只创建长度为 3 的数组,通过取余的方式来复用不再需要的下标。 代码: -```Java [] +```Java class Solution { public int numDecodings(String s) { int n = s.length(); @@ -170,7 +170,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.91` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.91` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/91-100/92. \345\217\215\350\275\254\351\223\276\350\241\250 II\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/91-100/92. \345\217\215\350\275\254\351\223\276\350\241\250 II\357\274\210\344\270\255\347\255\211\357\274\211.md" index 5de1b500..58a9f791 100644 --- "a/LeetCode/91-100/92. \345\217\215\350\275\254\351\223\276\350\241\250 II\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/91-100/92. \345\217\215\350\275\254\351\223\276\350\241\250 II\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -77,7 +77,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.92` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.92` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/921-930/930. \345\222\214\347\233\270\345\220\214\347\232\204\344\272\214\345\205\203\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/921-930/930. \345\222\214\347\233\270\345\220\214\347\232\204\344\272\214\345\205\203\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" index 33e092f3..51aaa0a3 100644 --- "a/LeetCode/921-930/930. \345\222\214\347\233\270\345\220\214\347\232\204\344\272\214\345\205\203\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/921-930/930. \345\222\214\347\233\270\345\220\214\347\232\204\344\272\214\345\205\203\345\255\220\346\225\260\347\273\204\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -44,7 +44,7 @@ Tag : 「前缀和」、「哈希表」、「双指针」 该方法适用于 $nums[i]$ 值不固定为 $0$ 和 $1$ 的其他情况。 代码: -```Java [] +```Java class Solution { public int numSubarraysWithSum(int[] nums, int t) { int n = nums.length; @@ -78,7 +78,7 @@ class Solution { 实现上,我们可以使用两个左端点 $l1$ 和 $l2$,代表在给定右端点 $r$ 的前提下满足要求的左端点集合,同时使用 $s1$ 和 $s2$ 分别代表两个端点到 $r$ 这一段的和。 代码: -```Java [] +```Java class Solution { public int numSubarraysWithSum(int[] nums, int t) { int n = nums.length; diff --git "a/LeetCode/931-940/937. \351\207\215\346\226\260\346\216\222\345\210\227\346\227\245\345\277\227\346\226\207\344\273\266\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/931-940/937. \351\207\215\346\226\260\346\216\222\345\210\227\346\227\245\345\277\227\346\226\207\344\273\266\357\274\210\347\256\200\345\215\225\357\274\211.md" index 860bab46..6f36d7db 100644 --- "a/LeetCode/931-940/937. \351\207\215\346\226\260\346\216\222\345\210\227\346\227\245\345\277\227\346\226\207\344\273\266\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/931-940/937. \351\207\215\346\226\260\346\216\222\345\210\227\346\227\245\345\277\227\346\226\207\344\273\266\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -92,7 +92,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.937` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.937` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/931-940/938. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\350\214\203\345\233\264\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/931-940/938. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\350\214\203\345\233\264\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" index 03544859..a9b13c54 100644 --- "a/LeetCode/931-940/938. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\350\214\203\345\233\264\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/931-940/938. \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\350\214\203\345\233\264\345\222\214\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -49,7 +49,7 @@ Tag : 「树的搜索」、「DFS」、「BFS」 递归写法十分简单,属于树的遍历中最简单的实现方式。 代码: -```Java [] +```Java class Solution { int low, high; int ans; @@ -78,7 +78,7 @@ class Solution { 一般简单的面试中如果问到树的遍历,面试官都不会对「递归」解法感到满意,因此掌握「迭代/非递归」写法同样重要。 代码: -```Java [] +```Java class Solution { public int rangeSumBST(TreeNode root, int low, int high) { int ans = 0; @@ -105,11 +105,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.938` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.938` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/941-950/942. \345\242\236\345\207\217\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/941-950/942. \345\242\236\345\207\217\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215\357\274\210\347\256\200\345\215\225\357\274\211.md" index c1c7b4c9..81a795b8 100644 --- "a/LeetCode/941-950/942. \345\242\236\345\207\217\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/941-950/942. \345\242\236\345\207\217\345\255\227\347\254\246\344\270\262\345\214\271\351\205\215\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -78,46 +78,6 @@ class Solution { --- -### 构造 - -根据题意,我们需要设想一种「构造」方式,使得利用 `s` 创建序列的过程能够顺利进行。 - -直觉上容易猜想到当 $s[i] = I$ 时,使用当前最小值进行构造,当 $s[i] = D$ 时使用当前最大值进行构造。 - -使用「归纳法」来证明该做法的可行性(可用数的范围为 $[0, n]$,构造答案为 $ans$ 数组): - -1. 对于边界情况:起始最小值为 $0$,最大值为 $n$: - - * 若有 $s[0] = I$,使用 $0$ 进行构造(即有 $ans[0] = 0$),可用数范围变为 $[1, n]$,后续再利用 $s[1]$ 进行构造 $ans[1]$ 时,可以确保始终满足 $ans[1] > ans[0]$,即上一步构造的正确性与下一步的决策无关; - - * 若有 $s[1] = D$,使用 $n$ 进行构造(即有 $ans[0] = n$),可用数范围变为 $[0, n - 1]$,后续再利用 $s[1]$ 进行构造 $ans[1]$ 时,可以确保始终满足 $ans[1] < ans[0]$,即上一步构造的正确性与下一步的决策无关; - -2. 原问题的非边界情况:与边界情况等同,可用数仍是连续段,且当前的决策无须考虑额外的条件(上一步的构造的正确性已有保证)。 - -此外,我们证明了该构造方法必然能够利用顺利构造出合法序列。 - -该做法成立的本质为:**始终确保可用数是连续段,每次选择位于边界的数进行构造,可以直接确保当前构造回合的正确性,从而让边界情况的归纳推理可以运用到每个构造回合。** - -代码: -```Java -class Solution { - public int[] diStringMatch(String s) { - int n = s.length(), l = 0, r = n, idx = 0; - int[] ans = new int[n + 1]; - for (int i = 0; i < n; i++) { - if (s.charAt(i) == 'I') ans[idx++] = l++; - else ans[idx++] = r--; - } - ans[idx] = l; - return ans; - } -} -``` -* 时间复杂度:$O(n)$ -* 空间复杂度:$O(1)$ - ---- - ### 最后 这是我们「刷穿 LeetCode」系列文章的第 `No.942` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 diff --git "a/LeetCode/981-990/981. \345\237\272\344\272\216\346\227\266\351\227\264\347\232\204\351\224\256\345\200\274\345\255\230\345\202\250\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/981-990/981. \345\237\272\344\272\216\346\227\266\351\227\264\347\232\204\351\224\256\345\200\274\345\255\230\345\202\250\357\274\210\344\270\255\347\255\211\357\274\211.md" index 6901dbea..ecf673f6 100644 --- "a/LeetCode/981-990/981. \345\237\272\344\272\216\346\227\266\351\227\264\347\232\204\351\224\256\345\200\274\345\255\230\345\202\250\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/981-990/981. \345\237\272\344\272\216\346\227\266\351\227\264\347\232\204\351\224\256\345\200\274\345\255\230\345\202\250\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -62,7 +62,7 @@ kv.get("foo", 5); // 输出 "bar2"   * `get` 操作:以 $O(1)$ 的复杂度找到某个 `key` 对应的数组,利用 `timestamp` 严格递增的特性,通过二分以 $O(\log{n})$ 复杂度找到可能符合条件的 `Node`。 代码: -```Java [] +```Java class TimeMap { class Node { String k, v; @@ -113,7 +113,7 @@ class TimeMap { 代码: -```Java [] +```Java class TimeMap { class Node { String k, v; diff --git "a/LeetCode/991-1000/995. K \350\277\236\347\273\255\344\275\215\347\232\204\346\234\200\345\260\217\347\277\273\350\275\254\346\254\241\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/991-1000/995. K \350\277\236\347\273\255\344\275\215\347\232\204\346\234\200\345\260\217\347\277\273\350\275\254\346\254\241\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" index 99e70c45..2b0c7006 100644 --- "a/LeetCode/991-1000/995. K \350\277\236\347\273\255\344\275\215\347\232\204\346\234\200\345\260\217\347\277\273\350\275\254\346\254\241\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/991-1000/995. K \350\277\236\347\273\255\344\275\215\347\232\204\346\234\200\345\260\217\347\277\273\350\275\254\346\254\241\346\225\260\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -173,7 +173,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.995` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.995` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/LCP/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/LCP/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257\357\274\210\347\256\200\345\215\225\357\274\211.md" index 30b35d61..d12885fe 100644 --- "a/LeetCode/LCP/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/LCP/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -60,7 +60,7 @@ Tag : 「图论搜索」、「图论 BFS」、「图论 DFS」、「线性 DP」 一些细节:为了方便找到某个点 $i$ 所能到达的节点,我们需要先预处理出所有的边。数据量较少,直接使用 `Map` 套 `Set` 即可。 代码: -```Java [] +```Java class Solution { public int numWays(int n, int[][] rs, int k) { Map> map = new HashMap<>(); @@ -103,7 +103,7 @@ class Solution { 在 `DFS` 过程中限制深度最多为 $k$,然后检查所达节点为 `n-1` 的次数即可。 代码: -```Java [] +```Java class Solution { Map> map = new HashMap<>(); int n, k, ans; @@ -157,7 +157,7 @@ f[i][j] = \sum_{i = 0}^{relation.length - 1}f[i - 1][p], relation[i][0]=p,relati $$ 代码: -```Java [] +```Java class Solution { public int numWays(int n, int[][] rs, int k) { int[][] f = new int[k + 1][n]; @@ -179,7 +179,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `LCP 07` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `LCP 07` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 15. \344\272\214\350\277\233\345\210\266\344\270\2551\347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 15. \344\272\214\350\277\233\345\210\266\344\270\2551\347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" index b407fc0c..4ff18c32 100644 --- "a/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 15. \344\272\214\350\277\233\345\210\266\344\270\2551\347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 15. \344\272\214\350\277\233\345\210\266\344\270\2551\347\232\204\344\270\252\346\225\260\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -37,7 +37,7 @@ Tag : 「位运算」、「分治」 ![image.png](https://pic.leetcode-cn.com/1616375441-WGCssd-image.png) 代码: -```Java [] +```Java public class Solution { public int hammingWeight(int n) { int ans = 0; @@ -66,7 +66,7 @@ public class Solution { ![image.png](https://pic.leetcode-cn.com/1616375636-fXCFNF-image.png) 代码: -```Java [] +```Java public class Solution { public int hammingWeight(int n) { int ans = 0; @@ -96,7 +96,7 @@ public class Solution { ![image.png](https://pic.leetcode-cn.com/1616375636-fXCFNF-image.png) 代码: -```Java [] +```Java public class Solution { public int hammingWeight(int n) { int ans = 0; @@ -120,7 +120,7 @@ public class Solution { ![image.png](https://pic.leetcode-cn.com/1616378128-yBWadF-image.png) 代码: -```Java [] +```Java public class Solution { public int hammingWeight(int n) { n = (n & 0x55555555) + ((n >>> 1) & 0x55555555); @@ -144,7 +144,7 @@ PS. 对于该解法,如果大家学有余力的话,还是建议大家在纸 ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `剑指 Offer 15` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `剑指 Offer 15` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 37. \345\272\217\345\210\227\345\214\226\344\272\214\345\217\211\346\240\221\357\274\210\345\233\260\351\232\276\357\274\211.md" "b/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 37. \345\272\217\345\210\227\345\214\226\344\272\214\345\217\211\346\240\221\357\274\210\345\233\260\351\232\276\357\274\211.md" index 603620b0..0bf916e5 100644 --- "a/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 37. \345\272\217\345\210\227\345\214\226\344\272\214\345\217\211\346\240\221\357\274\210\345\233\260\351\232\276\357\274\211.md" +++ "b/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 37. \345\272\217\345\210\227\345\214\226\344\272\214\345\217\211\346\240\221\357\274\210\345\233\260\351\232\276\357\274\211.md" @@ -67,7 +67,7 @@ Tag : 「二叉树」、「层序遍历」 3. 循环流程 $2$,直到整个序列化字符串被处理完(注意跳过最后一位分隔符)。 代码: -```Java [] +```Java public class Codec { int INF = -2000; TreeNode emptyNode = new TreeNode(INF); @@ -119,7 +119,7 @@ public class Codec { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `剑指 Offer 37` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `剑指 Offer 37` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 38. \345\255\227\347\254\246\344\270\262\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 38. \345\255\227\347\254\246\344\270\262\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" index 11431772..270c281b 100644 --- "a/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 38. \345\255\227\347\254\246\344\270\262\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/\345\211\221\346\214\207 Offer/\345\211\221\346\214\207 Offer 38. \345\255\227\347\254\246\344\270\262\347\232\204\346\216\222\345\210\227\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -29,7 +29,7 @@ Tag : 「字符串」、「回溯算法」 设计如下 `DFS` 函数: -```Java [] +```Java /** * cs : 原字符串 * u : 当前决策到目标字符串的哪一位 @@ -52,7 +52,7 @@ void dfs(char[] cs, int u, String cur); 直接决策目标字符串哪一位取哪个字符即可,同时使用布尔数组记录哪些字符已使用。 代码: -```Java [] +```Java class Solution { int N = 10; Set set = new HashSet<>(); @@ -101,7 +101,7 @@ class Solution { 这里的「状态完全相同」是指:**当前形成部分结果为 $cur$ 相同,同时剩余字符集合也相同**。 代码: -```Java [] +```Java class Solution { int N = 10; List list = new ArrayList<>(); @@ -139,7 +139,7 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `剑指 Offer 38` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `剑指 Offer 38` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 03.01. \344\270\211\345\220\210\344\270\200\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 03.01. \344\270\211\345\220\210\344\270\200\357\274\210\347\256\200\345\215\225\357\274\211.md" index dd8cfec9..a8b2f3a7 100644 --- "a/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 03.01. \344\270\211\345\220\210\344\270\200\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 03.01. \344\270\211\345\220\210\344\270\200\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -157,11 +157,11 @@ class TripleInOne { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `面试题 03.01. 三合一` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `面试题 03.01. 三合一` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 16.25. LRU \347\274\223\345\255\230\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 16.25. LRU \347\274\223\345\255\230\357\274\210\344\270\255\347\255\211\357\274\211.md" index bd11c572..54cd6e56 100644 --- "a/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 16.25. LRU \347\274\223\345\255\230\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 16.25. LRU \347\274\223\345\255\230\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -85,7 +85,7 @@ LRU 是一种十分常见的页面置换算法。 * 为了减少双向链表左右节点的「判空」操作,我们预先建立两个「哨兵」节点 `head` 和 `tail`。 代码: -```Java [] +```Java class LRUCache { class Node { int k, v; @@ -162,7 +162,7 @@ class LRUCache { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.面试题 16.25` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.面试题 16.25` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 diff --git "a/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.10. \344\270\273\350\246\201\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" "b/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.10. \344\270\273\350\246\201\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" index eac437ad..36f1eb81 100644 --- "a/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.10. \344\270\273\350\246\201\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" +++ "b/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.10. \344\270\273\350\246\201\345\205\203\347\264\240\357\274\210\347\256\200\345\215\225\357\274\211.md" @@ -38,7 +38,7 @@ Tag : 「哈希表」、「摩尔投票」 一个朴素的做法是使用哈希表进行计数,如果发现某个元素数量超过总数一半,说明找到了答案。 代码: -```Java [] +```Java class Solution { public int majorityElement(int[] nums) { int n = nums.length; @@ -75,7 +75,7 @@ class Solution { 代码: -```Java [] +```Java class Solution { public int majorityElement(int[] nums) { int n = nums.length; diff --git "a/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.14. \346\234\200\345\260\217K\344\270\252\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.14. \346\234\200\345\260\217K\344\270\252\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" index dccbaf5f..9c57537b 100644 --- "a/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.14. \346\234\200\345\260\217K\344\270\252\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.14. \346\234\200\345\260\217K\344\270\252\346\225\260\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -171,7 +171,7 @@ class Solution { 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。 diff --git "a/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.21. \347\233\264\346\226\271\345\233\276\347\232\204\346\260\264\351\207\217\357\274\210\344\270\255\347\255\211\357\274\211.md" "b/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.21. \347\233\264\346\226\271\345\233\276\347\232\204\346\260\264\351\207\217\357\274\210\344\270\255\347\255\211\357\274\211.md" index d875deb0..65d679bd 100644 --- "a/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.21. \347\233\264\346\226\271\345\233\276\347\232\204\346\260\264\351\207\217\357\274\210\344\270\255\347\255\211\357\274\211.md" +++ "b/LeetCode/\351\235\242\350\257\225\351\242\230/\351\235\242\350\257\225\351\242\230 17.21. \347\233\264\346\226\271\345\233\276\347\232\204\346\260\264\351\207\217\357\274\210\344\270\255\347\255\211\357\274\211.md" @@ -223,11 +223,11 @@ class Solution { ### 最后 -这是我们「刷穿 LeetCode」系列文章的第 `No.面试题 17.21` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先将所有不带锁的题目刷完。 +这是我们「刷穿 LeetCode」系列文章的第 `No.面试题 17.21` 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。 在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。 -为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode。 +为了方便各位同学能够电脑上进行调试和提交代码,我建立了相关的仓库:https://github.com/SharingSource/LogicStack-LeetCode 。 在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。