From 2c633c106da4c877e23d7da5a90bcca6c3904320 Mon Sep 17 00:00:00 2001 From: zhangzc Date: Tue, 2 Nov 2021 17:51:17 +0800 Subject: [PATCH] update solution.md --- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 71 ++++++++++- .../solution.md" | 71 ++++++++++- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 56 ++++++++- .../solution.md" | 58 ++++++++- .../solution.md" | 25 +++- .../solution.md" | 3 +- .../solution.md" | 10 +- .../solution.md" | 4 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 28 ++++- .../solution.md" | 23 +++- .../solution.md" | 3 +- .../solution.md" | 50 +++++++- .../solution.md" | 53 ++++++++- .../solution.md" | 67 ++++++++++- .../solution.md" | 22 +++- .../solution.md" | 14 ++- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 9 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 10 +- .../1.leetcode/49_Pow(x, n)/solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 36 +++++- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 25 +++- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 3 +- .../solution.md" | 52 +++++++- .../solution.md" | 3 +- .../solution.md" | 21 +++- .../solution.md" | 25 +++- .../solution.md" | 3 +- .../solution.md" | 111 +++++++++++++++++- .../solution.md" | 3 +- .../solution.md" | 3 +- leetcode_helper.py | 2 +- 64 files changed, 902 insertions(+), 64 deletions(-) diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.md" index 5ce2e44d..9bcf8631 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/0_\344\270\244\346\225\260\344\271\213\345\222\214/solution.md" @@ -1,6 +1,7 @@ # 两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

 

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:
[0,1]
解释:
因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

示例 2:

输入:nums = [3,2,4], target = 6
输出:
[1,2]

示例 3:

输入:nums = [3,3], target = 6
输出:
[0,1]

 

提示:

-

以下错误的选项是?

+

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

 

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:
[0,1]
解释:
因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

示例 2:

输入:nums = [3,2,4], target = 6
输出:
[1,2]

示例 3:

输入:nums = [3,3], target = 6
输出:
[0,1]

 

提示:

+

以下错误的选项是?

## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/10_\347\233\233\346\234\200\345\244\232\346\260\264\347\232\204\345\256\271\345\231\250/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/10_\347\233\233\346\234\200\345\244\232\346\260\264\347\232\204\345\256\271\345\231\250/solution.md" index d4869915..efb8cafb 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/10_\347\233\233\346\234\200\345\244\232\346\260\264\347\232\204\345\256\271\345\231\250/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/10_\347\233\233\346\234\200\345\244\232\346\260\264\347\232\204\345\256\271\345\231\250/solution.md" @@ -1,6 +1,7 @@ # 盛最多水的容器

给你 n 个非负整数 a1,a2,...,an每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai)(i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器。

 

示例 1:

输入:[1,8,6,2,5,4,8,3,7]
输出:
49
解释:
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例 2:

输入:height = [1,1]
输出:
1

示例 3:

输入:height = [4,3,2,1,4]
输出:
16

示例 4:

输入:height = [1,2,1]
输出:
2

 

提示:

-

以下错误的选项是?

+

给你 n 个非负整数 a1,a2,...,an每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai)(i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器。

 

示例 1:

输入:[1,8,6,2,5,4,8,3,7]
输出:
49
解释:
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例 2:

输入:height = [1,1]
输出:
1

示例 3:

输入:height = [4,3,2,1,4]
输出:
16

示例 4:

输入:height = [1,2,1]
输出:
2

 

提示:

+

以下错误的选项是?

## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/11_\346\225\264\346\225\260\350\275\254\347\275\227\351\251\254\346\225\260\345\255\227/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/11_\346\225\264\346\225\260\350\275\254\347\275\227\351\251\254\346\225\260\345\255\227/solution.md" index 02753f15..076ca22a 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/11_\346\225\264\346\225\260\350\275\254\347\275\227\351\251\254\346\225\260\345\255\227/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/11_\346\225\264\346\225\260\350\275\254\347\275\227\351\251\254\346\225\260\345\255\227/solution.md" @@ -68,7 +68,76 @@ M 1000
  • 1 <= num <= 3999
  • -

    以下错误的选项是?

    +

    +

    罗马数字包含以下七种字符: I, V, X, LCD 和 M。 +

    + +
    字符          数值
    +I             1
    +V             5
    +X             10
    +L             50
    +C             100
    +D             500
    +M             1000
    + +

    例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 + 写做 XII ,即为 X + II 。 27 + 写做  XXVII, + 即为 XX + V + II 。

    + +

    通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 + 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

    + + + +

    给你一个整数,将其转为罗马数字。

    + +

     

    + +

    示例 1:

    + +
    输入: num = 3
    +
    输出:
    "III"
    + +

    示例 2:

    + +
    输入: num = 4
    +
    输出:
    "IV"
    + +

    示例 3:

    + +
    输入: num = 9
    +
    输出:
    "IX"
    + +

    示例 4:

    + +
    输入: num = 58
    +
    输出:
    "LVIII" +
    解释:
    L = 50, V = 5, III = 3. +
    + +

    示例 5:

    + +
    输入: num = 1994
    +
    输出:
    "MCMXCIV" +
    解释:
    M = 1000, CM = 900, XC = 90, IV = 4.
    + +

     

    + +

    提示:

    + + +
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/12_\347\275\227\351\251\254\346\225\260\345\255\227\350\275\254\346\225\264\346\225\260/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/12_\347\275\227\351\251\254\346\225\260\345\255\227\350\275\254\346\225\264\346\225\260/solution.md" index b6ce3ae8..1d872780 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/12_\347\275\227\351\251\254\346\225\260\345\255\227\350\275\254\346\225\264\346\225\260/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/12_\347\275\227\351\251\254\346\225\260\345\255\227\350\275\254\346\225\264\346\225\260/solution.md" @@ -68,7 +68,76 @@ M 1000
  • 1 <= num <= 3999
  • -

    以下错误的选项是?

    +

    +

    罗马数字包含以下七种字符: I, V, X, LCD 和 M。 +

    + +
    字符          数值
    +I             1
    +V             5
    +X             10
    +L             50
    +C             100
    +D             500
    +M             1000
    + +

    例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 + 写做 XII ,即为 X + II 。 27 + 写做  XXVII, + 即为 XX + V + II 。

    + +

    通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 + 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

    + + + +

    给你一个整数,将其转为罗马数字。

    + +

     

    + +

    示例 1:

    + +
    输入: num = 3
    +
    输出:
    "III"
    + +

    示例 2:

    + +
    输入: num = 4
    +
    输出:
    "IV"
    + +

    示例 3:

    + +
    输入: num = 9
    +
    输出:
    "IX"
    + +

    示例 4:

    + +
    输入: num = 58
    +
    输出:
    "LVIII" +
    解释:
    L = 50, V = 5, III = 3. +
    + +

    示例 5:

    + +
    输入: num = 1994
    +
    输出:
    "MCMXCIV" +
    解释:
    M = 1000, CM = 900, XC = 90, IV = 4.
    + +

     

    + +

    提示:

    + + +
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/13_\346\234\200\351\225\277\345\205\254\345\205\261\345\211\215\347\274\200/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/13_\346\234\200\351\225\277\345\205\254\345\205\261\345\211\215\347\274\200/solution.md" index ca3de429..5a22720a 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/13_\346\234\200\351\225\277\345\205\254\345\205\261\345\211\215\347\274\200/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/13_\346\234\200\351\225\277\345\205\254\345\205\261\345\211\215\347\274\200/solution.md" @@ -1,6 +1,7 @@ # 最长公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀。

    如果不存在公共前缀,返回空字符串 ""

     

    示例 1:

    输入:strs = ["flower","flow","flight"]
    输出:
    "fl"

    示例 2:

    输入:strs = ["dog","racecar","car"]
    输出:
    ""
    解释:
    输入不存在公共前缀。

     

    提示:

    -

    以下错误的选项是?

    +

    编写一个函数来查找字符串数组中的最长公共前缀。

    如果不存在公共前缀,返回空字符串 ""

     

    示例 1:

    输入:strs = ["flower","flow","flight"]
    输出:
    "fl"

    示例 2:

    输入:strs = ["dog","racecar","car"]
    输出:
    ""
    解释:
    输入不存在公共前缀。

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/14_\344\270\211\346\225\260\344\271\213\345\222\214/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/14_\344\270\211\346\225\260\344\271\213\345\222\214/solution.md" index 3cbafaa7..1adc01f4 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/14_\344\270\211\346\225\260\344\271\213\345\222\214/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/14_\344\270\211\346\225\260\344\271\213\345\222\214/solution.md" @@ -1,6 +1,7 @@ # 三数之和

    给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。

    注意:答案中不可以包含重复的三元组。

     

    示例 1:

    输入:nums = [-1,0,1,2,-1,-4]
    输出:
    [[-1,-1,2],[-1,0,1]]

    示例 2:

    输入:nums = []
    输出:
    []

    示例 3:

    输入:nums = [0]
    输出:
    []

     

    提示:

    -

    以下错误的选项是?

    +

    给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。

    注意:答案中不可以包含重复的三元组。

     

    示例 1:

    输入:nums = [-1,0,1,2,-1,-4]
    输出:
    [[-1,-1,2],[-1,0,1]]

    示例 2:

    输入:nums = []
    输出:
    []

    示例 3:

    输入:nums = [0]
    输出:
    []

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/15_\346\234\200\346\216\245\350\277\221\347\232\204\344\270\211\346\225\260\344\271\213\345\222\214/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/15_\346\234\200\346\216\245\350\277\221\347\232\204\344\270\211\346\225\260\344\271\213\345\222\214/solution.md" index 6e5e5bef..0eabbda0 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/15_\346\234\200\346\216\245\350\277\221\347\232\204\344\270\211\346\225\260\344\271\213\345\222\214/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/15_\346\234\200\346\216\245\350\277\221\347\232\204\344\270\211\346\225\260\344\271\213\345\222\214/solution.md" @@ -1,6 +1,7 @@ # 最接近的三数之和

    给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。

     

    示例:

    输入:nums = [-1,2,1,-4], target = 1
    输出:
    2
    解释:
    与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。

     

    提示:

    -

    以下错误的选项是?

    +

    给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。

     

    示例:

    输入:nums = [-1,2,1,-4], target = 1
    输出:
    2
    解释:
    与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/16_\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/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/16_\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/solution.md" index 3214a616..41e7bd43 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/16_\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/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/16_\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/solution.md" @@ -1,6 +1,7 @@ # 电话号码的字母组合

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

    给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

     

    示例 1:

    输入:digits = "23"
    输出:
    ["ad","ae","af","bd","be","bf","cd","ce","cf"]

    示例 2:

    输入:digits = ""
    输出:
    []

    示例 3:

    输入:digits = "2"
    输出:
    ["a","b","c"]

     

    提示:

    -

    以下错误的选项是?

    +

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

    给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

     

    示例 1:

    输入:digits = "23"
    输出:
    ["ad","ae","af","bd","be","bf","cd","ce","cf"]

    示例 2:

    输入:digits = ""
    输出:
    []

    示例 3:

    输入:digits = "2"
    输出:
    ["a","b","c"]

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/17_\345\233\233\346\225\260\344\271\213\345\222\214/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/17_\345\233\233\346\225\260\344\271\213\345\222\214/solution.md" index 7a046659..f68abb3b 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/17_\345\233\233\346\225\260\344\271\213\345\222\214/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/17_\345\233\233\346\225\260\344\271\213\345\222\214/solution.md" @@ -1,6 +1,7 @@ # 四数之和

    给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。

    注意:答案中不可以包含重复的四元组。

     

    示例 1:

    输入:nums = [1,0,-1,0,-2,2], target = 0
    输出:
    [[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]

    示例 2:

    输入:nums = [], target = 0
    输出:
    []

     

    提示:

    -

    以下错误的选项是?

    +

    给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。

    注意:答案中不可以包含重复的四元组。

     

    示例 1:

    输入:nums = [1,0,-1,0,-2,2], target = 0
    输出:
    [[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]

    示例 2:

    输入:nums = [], target = 0
    输出:
    []

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/18_\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/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/18_\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/solution.md" index 564c6871..973d20d5 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/18_\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/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/18_\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/solution.md" @@ -1,6 +1,7 @@ # 删除链表的倒数第 N 个结点

    给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

    进阶:你能尝试使用一趟扫描实现吗?

     

    示例 1:

    输入:head = [1,2,3,4,5], n = 2
    输出:
    [1,2,3,5]

    示例 2:

    输入:head = [1], n = 1
    输出:
    []

    示例 3:

    输入:head = [1,2], n = 1
    输出:
    [1]

     

    提示:

    -

    以下错误的选项是?

    +

    给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

    进阶:你能尝试使用一趟扫描实现吗?

     

    示例 1:

    输入:head = [1,2,3,4,5], n = 2
    输出:
    [1,2,3,5]

    示例 2:

    输入:head = [1], n = 1
    输出:
    []

    示例 3:

    输入:head = [1,2], n = 1
    输出:
    [1]

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/19_\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/19_\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267/solution.md" index e1dfbc8f..23670ab8 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/19_\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/19_\346\234\211\346\225\210\347\232\204\346\213\254\345\217\267/solution.md" @@ -1,6 +1,7 @@ # 有效的括号

    给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

    有效字符串需满足:

    1. 左括号必须用相同类型的右括号闭合。
    2. 左括号必须以正确的顺序闭合。

     

    示例 1:

    输入:s = "()"
    输出:
    true

    示例 2:

    输入:s = "()[]{}"
    输出:
    true

    示例 3:

    输入:s = "(]"
    输出:
    false

    示例 4:

    输入:s = "([)]"
    输出:
    false

    示例 5:

    输入:s = "{[]}"
    输出:
    true

     

    提示:

    -

    以下错误的选项是?

    +

    给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

    有效字符串需满足:

    1. 左括号必须用相同类型的右括号闭合。
    2. 左括号必须以正确的顺序闭合。

     

    示例 1:

    输入:s = "()"
    输出:
    true

    示例 2:

    输入:s = "()[]{}"
    输出:
    true

    示例 3:

    输入:s = "(]"
    输出:
    false

    示例 4:

    输入:s = "([)]"
    输出:
    false

    示例 5:

    输入:s = "{[]}"
    输出:
    true

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/1_\344\270\244\346\225\260\347\233\270\345\212\240/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/1_\344\270\244\346\225\260\347\233\270\345\212\240/solution.md" index 3c618969..287328cb 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/1_\344\270\244\346\225\260\347\233\270\345\212\240/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/1_\344\270\244\346\225\260\347\233\270\345\212\240/solution.md" @@ -1,6 +1,7 @@ # 两数相加

    给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

    请你将两个数相加,并以相同形式返回一个表示和的链表。

    你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

     

    示例 1:

    输入:l1 = [2,4,3], l2 = [5,6,4]
    输出:
    [7,0,8]
    解释:
    342 + 465 = 807.

    示例 2:

    输入:l1 = [0], l2 = [0]
    输出:
    [0]

    示例 3:

    输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
    输出:
    [8,9,9,9,0,0,0,1]

     

    提示:

    -

    以下错误的选项是?

    +

    给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

    请你将两个数相加,并以相同形式返回一个表示和的链表。

    你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

     

    示例 1:

    输入:l1 = [2,4,3], l2 = [5,6,4]
    输出:
    [7,0,8]
    解释:
    342 + 465 = 807.

    示例 2:

    输入:l1 = [0], l2 = [0]
    输出:
    [0]

    示例 3:

    输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
    输出:
    [8,9,9,9,0,0,0,1]

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/20_\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/20_\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250/solution.md" index 53a2ccb0..951ea5a6 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/20_\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/20_\345\220\210\345\271\266\344\270\244\344\270\252\346\234\211\345\272\217\351\223\276\350\241\250/solution.md" @@ -1,6 +1,7 @@ # 合并两个有序链表

    将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

     

    示例 1:

    输入:l1 = [1,2,4], l2 = [1,3,4]
    输出:
    [1,1,2,3,4,4]

    示例 2:

    输入:l1 = [], l2 = []
    输出:
    []

    示例 3:

    输入:l1 = [], l2 = [0]
    输出:
    [0]

     

    提示:

    -

    以下错误的选项是?

    +

    将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

     

    示例 1:

    输入:l1 = [1,2,4], l2 = [1,3,4]
    输出:
    [1,1,2,3,4,4]

    示例 2:

    输入:l1 = [], l2 = []
    输出:
    []

    示例 3:

    输入:l1 = [], l2 = [0]
    输出:
    [0]

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/21_\346\213\254\345\217\267\347\224\237\346\210\220/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/21_\346\213\254\345\217\267\347\224\237\346\210\220/solution.md" index d1e06440..7f545735 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/21_\346\213\254\345\217\267\347\224\237\346\210\220/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/21_\346\213\254\345\217\267\347\224\237\346\210\220/solution.md" @@ -1,6 +1,7 @@ # 括号生成

    数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

     

    示例 1:

    输入:n = 3
    输出:
    ["((()))","(()())","(())()","()(())","()()()"]

    示例 2:

    输入:n = 1
    输出:
    ["()"]

     

    提示:

    -

    以下错误的选项是?

    +

    数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

     

    示例 1:

    输入:n = 3
    输出:
    ["((()))","(()())","(())()","()(())","()()()"]

    示例 2:

    输入:n = 1
    输出:
    ["()"]

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/22_\345\220\210\345\271\266K\344\270\252\345\215\207\345\272\217\351\223\276\350\241\250/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/22_\345\220\210\345\271\266K\344\270\252\345\215\207\345\272\217\351\223\276\350\241\250/solution.md" index de4aa632..30db6d94 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/22_\345\220\210\345\271\266K\344\270\252\345\215\207\345\272\217\351\223\276\350\241\250/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/22_\345\220\210\345\271\266K\344\270\252\345\215\207\345\272\217\351\223\276\350\241\250/solution.md" @@ -1,6 +1,7 @@ # 合并K个升序链表

    给你一个链表数组,每个链表都已经按升序排列。

    请你将所有链表合并到一个升序链表中,返回合并后的链表。

     

    示例 1:

    输入:lists = [[1,4,5],[1,3,4],[2,6]]
    输出:
    [1,1,2,3,4,4,5,6]
    解释:
    链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6

    示例 2:

    输入:lists = []
    输出:
    []

    示例 3:

    输入:lists = [[]]
    输出:
    []

     

    提示:

    -

    以下错误的选项是?

    +

    给你一个链表数组,每个链表都已经按升序排列。

    请你将所有链表合并到一个升序链表中,返回合并后的链表。

     

    示例 1:

    输入:lists = [[1,4,5],[1,3,4],[2,6]]
    输出:
    [1,1,2,3,4,4,5,6]
    解释:
    链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6

    示例 2:

    输入:lists = []
    输出:
    []

    示例 3:

    输入:lists = [[]]
    输出:
    []

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/23_\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/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/23_\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/solution.md" index 0ffc7e61..c2cd9062 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/23_\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/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/23_\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/solution.md" @@ -1,6 +1,7 @@ # 两两交换链表中的节点

    给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

    你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

     

    示例 1:

    输入:head = [1,2,3,4]
    输出:
    [2,1,4,3]

    示例 2:

    输入:head = []
    输出:
    []

    示例 3:

    输入:head = [1]
    输出:
    [1]

     

    提示:

     

    进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅修改节点本身。)

    -

    以下错误的选项是?

    +

    给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

    你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

     

    示例 1:

    输入:head = [1,2,3,4]
    输出:
    [2,1,4,3]

    示例 2:

    输入:head = []
    输出:
    []

    示例 3:

    输入:head = [1]
    输出:
    [1]

     

    提示:

     

    进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅修改节点本身。)

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/24_K \344\270\252\344\270\200\347\273\204\347\277\273\350\275\254\351\223\276\350\241\250/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/24_K \344\270\252\344\270\200\347\273\204\347\277\273\350\275\254\351\223\276\350\241\250/solution.md" index 81934d10..3b1aa08c 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/24_K \344\270\252\344\270\200\347\273\204\347\277\273\350\275\254\351\223\276\350\241\250/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/24_K \344\270\252\344\270\200\347\273\204\347\277\273\350\275\254\351\223\276\350\241\250/solution.md" @@ -1,6 +1,7 @@ # K 个一组翻转链表

    给你一个链表,每 个节点一组进行翻转,请你返回翻转后的链表。

    是一个正整数,它的值小于或等于链表的长度。

    如果节点总数不是 的整数倍,那么请将最后剩余的节点保持原有顺序。

    进阶:

     

    示例 1:

    输入:head = [1,2,3,4,5], k = 2
    输出:
    [2,1,4,3,5]

    示例 2:

    输入:head = [1,2,3,4,5], k = 3
    输出:
    [3,2,1,4,5]

    示例 3:

    输入:head = [1,2,3,4,5], k = 1
    输出:
    [1,2,3,4,5]

    示例 4:

    输入:head = [1], k = 1
    输出:
    [1]

    提示:

    -

    以下错误的选项是?

    +

    给你一个链表,每 个节点一组进行翻转,请你返回翻转后的链表。

    是一个正整数,它的值小于或等于链表的长度。

    如果节点总数不是 的整数倍,那么请将最后剩余的节点保持原有顺序。

    进阶:

     

    示例 1:

    输入:head = [1,2,3,4,5], k = 2
    输出:
    [2,1,4,3,5]

    示例 2:

    输入:head = [1,2,3,4,5], k = 3
    输出:
    [3,2,1,4,5]

    示例 3:

    输入:head = [1,2,3,4,5], k = 1
    输出:
    [1,2,3,4,5]

    示例 4:

    输入:head = [1], k = 1
    输出:
    [1]

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/25_\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/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/25_\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/solution.md" index ff56e519..951264c3 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/25_\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/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/25_\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/solution.md" @@ -53,7 +53,61 @@ for (int i = 0; i < len; i++) {

     

    -

    以下错误的选项是?

    +

    +

    给你一个有序数组 nums ,请你 + 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。

    + +

    不要使用额外的数组空间,你必须在 原地 + 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

    + +

     

    + +

    说明:

    + +

    为什么返回数值是整数,但输出的答案是数组呢?

    + +

    请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

    + +

    你可以想象内部操作如下:

    + +
    // nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝
    +int len = removeDuplicates(nums);
    +
    +// 在函数里修改输入数组对于调用者是可见的。
    +// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。
    +for (int i = 0; i < len; i++) {
    +    print(nums[i]);
    +}
    +
    +   + +

    示例 1:

    + +
    输入:nums = [1,1,2]
    +
    输出:
    2, nums = [1,2] +
    解释:
    函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。 +
    + +

    示例 2:

    + +
    输入:nums = [0,0,1,1,1,2,2,3,3,4]
    +
    输出:
    5, nums = [0,1,2,3,4] +
    解释:
    函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4 。不需要考虑数组中超出新长度后面的元素。 +
    + +

     

    + +

    提示:

    + + + +

     

    +
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/26_\347\247\273\351\231\244\345\205\203\347\264\240/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/26_\347\247\273\351\231\244\345\205\203\347\264\240/solution.md" index 4823c6b4..eafc76e7 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/26_\347\247\273\351\231\244\345\205\203\347\264\240/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/26_\347\247\273\351\231\244\345\205\203\347\264\240/solution.md" @@ -55,7 +55,63 @@ for (int i = 0; i < len; i++) {
  • 0 <= val <= 100
  • -

    以下错误的选项是?

    +

    +

    给你一个数组 nums 和一个值 val,你需要 原地 + 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

    + +

    不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组

    + +

    元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

    + +

     

    + +

    说明:

    + +

    为什么返回数值是整数,但输出的答案是数组呢?

    + +

    请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

    + +

    你可以想象内部操作如下:

    + +
    // nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝
    +int len = removeElement(nums, val);
    +
    +// 在函数里修改输入数组对于调用者是可见的。
    +// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。
    +for (int i = 0; i < len; i++) {
    +    print(nums[i]);
    +}
    +
    + +

     

    + +

    示例 1:

    + +
    输入:nums = [3,2,2,3], val = 3
    +
    输出:
    2, nums = [2,2] +
    解释:
    函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。 +
    + +

    示例 2:

    + +
    输入:nums = [0,1,2,2,3,0,4,2], val = 2
    +
    输出:
    5, nums = [0,1,4,0,3] +
    解释:
    函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。注意这五个元素可为任意顺序。你不需要考虑数组中超出新长度后面的元素。 +
    + +

     

    + +

    提示:

    + + +
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/27_\345\256\236\347\216\260 strStr()/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/27_\345\256\236\347\216\260 strStr()/solution.md" index fd4b512c..90288243 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/27_\345\256\236\347\216\260 strStr()/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/27_\345\256\236\347\216\260 strStr()/solution.md" @@ -22,7 +22,30 @@
  • 0 <= haystack.length, needle.length <= 5 * 104
  • haystackneedle 仅由小写英文字符组成
  • -

    以下错误的选项是?

    +

    实现 strStr() 函数。

    +

    给你两个字符串 haystackneedle ,请你在 haystack 字符串中找出 needle + 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回  -1

    +

     

    +

    说明:

    +

    当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。

    +

    对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。

    +

     

    +

    示例 1:

    +
    输入:haystack = "hello", needle = "ll"
    输出:
    2
    +

    示例 2:

    +
    输入:haystack = "aaaaa", needle = "bba"
    输出:
    -1
    +

    示例 3:

    +
    输入:haystack = "", needle = ""
    输出:
    0
    +

     

    +

    提示:

    + +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/28_\344\270\244\346\225\260\347\233\270\351\231\244/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/28_\344\270\244\346\225\260\347\233\270\351\231\244/solution.md" index c86b9b4c..ae9b8c68 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/28_\344\270\244\346\225\260\347\233\270\351\231\244/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/28_\344\270\244\346\225\260\347\233\270\351\231\244/solution.md" @@ -1,6 +1,7 @@ # 两数相除

    给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。

    返回被除数 dividend 除以除数 divisor 得到的商。

    整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2

     

    示例 1:

    输入: dividend = 10, divisor = 3
    输出:
    3
    解释:
    10/3 = truncate(3.33333..) = truncate(3) = 3

    示例 2:

    输入: dividend = 7, divisor = -3
    输出:
    -2
    解释:
    7/-3 = truncate(-2.33333..) = -2

     

    提示:

    -

    以下错误的选项是?

    +

    给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。

    返回被除数 dividend 除以除数 divisor 得到的商。

    整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2

     

    示例 1:

    输入: dividend = 10, divisor = 3
    输出:
    3
    解释:
    10/3 = truncate(3.33333..) = truncate(3) = 3

    示例 2:

    输入: dividend = 7, divisor = -3
    输出:
    -2
    解释:
    7/-3 = truncate(-2.33333..) = -2

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/29_\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/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/29_\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/solution.md" index 81f672ee..079c2681 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/29_\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/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/29_\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/solution.md" @@ -7,7 +7,15 @@
    输入:  s = "barfoothefoobarman",  words = ["foo","bar"]
    输出:
    [0,9]
    解释:
    从索引 0 和 9 开始的子串分别是 "barfoo" 和 "foobar" 。输出的顺序不重要, [9,0] 也是有效答案。

    示例 2:

    输入:  s = "wordgoodgoodgoodbestword",  words = ["word","good","best","word"]
    输出:
    []
    -

    以下错误的选项是?

    +

    给定一个字符串 和一些长度相同的单词 words。找出 s + 中恰好可以由 words 中所有单词串联形成的子串的起始位置。

    +

    注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。

    +

     

    +

    示例 1:

    +
    输入:  s = "barfoothefoobarman",  words = ["foo","bar"]
    输出:
    [0,9]
    解释:
    从索引 0 和 9 开始的子串分别是 "barfoo" 和 "foobar" 。输出的顺序不重要, [9,0] 也是有效答案。
    +

    示例 2:

    +
    输入:  s = "wordgoodgoodgoodbestword",  words = ["word","good","best","word"]
    输出:
    []
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/2_\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/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/2_\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/solution.md" index 7340c0e7..8b14ba13 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/2_\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/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/2_\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/solution.md" @@ -1,7 +1,9 @@ # 无重复字符的最长子串

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

     

    示例 1:

    输入: s = "abcabcbb"
    输出:
    3
    解释:
    因为无重复字符的最长子串是 "abc",所以其长度为 3。

    示例 2:

    输入: s = "bbbbb"
    输出:
    1
    解释:
    因为无重复字符的最长子串是 "b",所以其长度为 1。

    示例 3:

    输入: s = "pwwkew"
    输出:
    3
    解释:
    因为无重复字符的最长子串是 "wke",所以其长度为 3。  请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

    示例 4:

    输入: s = ""
    输出:
    0

     

    提示:

    -

    以下错误的选项是?

    +

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

     

    示例 1:

    输入: s = "abcabcbb"
    输出:
    3
    解释:
    因为无重复字符的最长子串是 "abc",所以其长度为 3。

    示例 2:

    输入: s = "bbbbb"
    输出:
    1
    解释:
    因为无重复字符的最长子串是 "b",所以其长度为 1。

    示例 3:

    输入: s = "pwwkew"
    输出:
    3
    解释:
    因为无重复字符的最长子串是 "wke",所以其长度为 3。  +请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

    示例 4:

    输入: s = ""
    输出:
    0

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/30_\344\270\213\344\270\200\344\270\252\346\216\222\345\210\227/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/30_\344\270\213\344\270\200\344\270\252\346\216\222\345\210\227/solution.md" index 2c8ad218..90b199c4 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/30_\344\270\213\344\270\200\344\270\252\346\216\222\345\210\227/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/30_\344\270\213\344\270\200\344\270\252\346\216\222\345\210\227/solution.md" @@ -1,6 +1,7 @@ # 下一个排列

    实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。

    如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。

    必须 原地 修改,只允许使用额外常数空间。

     

    示例 1:

    输入:nums = [1,2,3]
    输出:
    [1,3,2]

    示例 2:

    输入:nums = [3,2,1]
    输出:
    [1,2,3]

    示例 3:

    输入:nums = [1,1,5]
    输出:
    [1,5,1]

    示例 4:

    输入:nums = [1]
    输出:
    [1]

     

    提示:

    -

    以下错误的选项是?

    +

    实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。

    如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。

    必须 原地 修改,只允许使用额外常数空间。

     

    示例 1:

    输入:nums = [1,2,3]
    输出:
    [1,3,2]

    示例 2:

    输入:nums = [3,2,1]
    输出:
    [1,2,3]

    示例 3:

    输入:nums = [1,1,5]
    输出:
    [1,5,1]

    示例 4:

    输入:nums = [1]
    输出:
    [1]

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/31_\346\234\200\351\225\277\346\234\211\346\225\210\346\213\254\345\217\267/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/31_\346\234\200\351\225\277\346\234\211\346\225\210\346\213\254\345\217\267/solution.md" index b20aca47..d29a631b 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/31_\346\234\200\351\225\277\346\234\211\346\225\210\346\213\254\345\217\267/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/31_\346\234\200\351\225\277\346\234\211\346\225\210\346\213\254\345\217\267/solution.md" @@ -1,6 +1,7 @@ # 最长有效括号

    给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。

     

    示例 1:

    输入:s = "(()"
    输出:
    2
    解释:
    最长有效括号子串是 "()"

    示例 2:

    输入:s = ")()())"
    输出:
    4
    解释:
    最长有效括号子串是 "()()"

    示例 3:

    输入:s = ""
    输出:
    0

     

    提示:

    • 0 <= s.length <= 3 * 104
    • s[i]'('')'
    -

    以下错误的选项是?

    +

    给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。

     

    示例 1:

    输入:s = "(()"
    输出:
    2
    解释:
    最长有效括号子串是 "()"

    示例 2:

    输入:s = ")()())"
    输出:
    4
    解释:
    最长有效括号子串是 "()()"

    示例 3:

    输入:s = ""
    输出:
    0

     

    提示:

    • 0 <= s.length <= 3 * 104
    • s[i]'('')'
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/32_\346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/32_\346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204/solution.md" index 4dabd4d9..9321cfd7 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/32_\346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/32_\346\220\234\347\264\242\346\227\213\350\275\254\346\216\222\345\272\217\346\225\260\347\273\204/solution.md" @@ -25,7 +25,33 @@

     

    进阶:你可以设计一个时间复杂度为 O(log n) 的解决方案吗?

    -

    以下错误的选项是?

    +

    整数数组 nums 按升序排列,数组中的值 互不相同

    +

    在传递给函数之前,nums 在预先未知的某个下标 k0 <= k < nums.length)上进行了 旋转,使数组变为 + [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 + 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。 +

    +

    给你 旋转后 的数组 nums 和一个整数 target ,如果 nums 中存在这个目标值 + target ,则返回它的下标,否则返回 -1 。 +

    +

     

    +

    示例 1:

    +
    输入:nums = [4,5,6,7,0,1,2], target = 0
    输出:
    4
    +

    示例 2:

    +
    输入:nums = [4,5,6,7,0,1,2], target = 3
    输出:
    -1
    +

    示例 3:

    +
    输入:nums = [1], target = 0
    输出:
    -1
    +

     

    +

    提示:

    + +

     

    +

    进阶:你可以设计一个时间复杂度为 O(log n) 的解决方案吗?

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/33_\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/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/33_\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/solution.md" index 75e35d6f..d1d5085d 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/33_\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/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/33_\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/solution.md" @@ -20,7 +20,28 @@
  • nums 是一个非递减数组
  • -109 <= target <= 109
  • -

    以下错误的选项是?

    +

    给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。

    +

    如果数组中不存在目标值 target,返回 [-1, -1]

    +

    进阶:

    + +

     

    +

    示例 1:

    +
    输入:nums = [5,7,7,8,8,10], target = 8
    输出:
    [3,4]
    +

    示例 2:

    +
    输入:nums = [5,7,7,8,8,10], target = 6
    输出:
    [-1,-1]
    +

    示例 3:

    +
    输入:nums = [], target = 0
    输出:
    [-1,-1]
    +

     

    +

    提示:

    + +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/34_\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/34_\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256/solution.md" index 53ea242c..55fe4ca2 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/34_\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/34_\346\220\234\347\264\242\346\217\222\345\205\245\344\275\215\347\275\256/solution.md" @@ -1,6 +1,7 @@ # 搜索插入位置

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

    你可以假设数组中无重复元素。

    示例 1:

    输入: [1,3,5,6], 5
    输出:
    2

    示例 2:

    输入: [1,3,5,6], 2
    输出:
    1

    示例 3:

    输入: [1,3,5,6], 7
    输出:
    4

    示例 4:

    输入: [1,3,5,6], 0
    输出:
    0
    -

    以下错误的选项是?

    +

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

    你可以假设数组中无重复元素。

    示例 1:

    输入: [1,3,5,6], 5
    输出:
    2

    示例 2:

    输入: [1,3,5,6], 2
    输出:
    1

    示例 3:

    输入: [1,3,5,6], 7
    输出:
    4

    示例 4:

    输入: [1,3,5,6], 0
    输出:
    0
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/35_\346\234\211\346\225\210\347\232\204\346\225\260\347\213\254/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/35_\346\234\211\346\225\210\347\232\204\346\225\260\347\213\254/solution.md" index 0090e246..823970d0 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/35_\346\234\211\346\225\210\347\232\204\346\225\260\347\213\254/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/35_\346\234\211\346\225\210\347\232\204\346\225\260\347\213\254/solution.md" @@ -47,7 +47,55 @@
  • board[i].length == 9
  • board[i][j] 是一位数字或者 '.'
  • -

    以下错误的选项是?

    +

    请你判断一个 9x9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。

    +
      +
    1. 数字 1-9 在每一行只能出现一次。
    2. +
    3. 数字 1-9 在每一列只能出现一次。
    4. +
    5. 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)
    6. +
    +

    数独部分空格内已填入了数字,空白格用 '.' 表示。

    +

    注意:

    + +

     

    +

    示例 1:

    +
    输入:board = 
    +    [["5","3",".",".","7",".",".",".","."]
    +    ,["6",".",".","1","9","5",".",".","."]
    +    ,[".","9","8",".",".",".",".","6","."]
    +    ,["8",".",".",".","6",".",".",".","3"]
    +    ,["4",".",".","8",".","3",".",".","1"]
    +    ,["7",".",".",".","2",".",".",".","6"]
    +    ,[".","6",".",".",".",".","2","8","."]
    +    ,[".",".",".","4","1","9",".",".","5"]
    +    ,[".",".",".",".","8",".",".","7","9"]]
    +
    输出:
    true +
    +

    示例 2:

    +
    输入:board = 
    +    [["8","3",".",".","7",".",".",".","."]
    +    ,["6",".",".","1","9","5",".",".","."]
    +    ,[".","9","8",".",".",".",".","6","."]
    +    ,["8",".",".",".","6",".",".",".","3"]
    +    ,["4",".",".","8",".","3",".",".","1"]
    +    ,["7",".",".",".","2",".",".",".","6"]
    +    ,[".","6",".",".",".",".","2","8","."]
    +    ,[".",".",".","4","1","9",".",".","5"]
    +    ,[".",".",".",".","8",".",".","7","9"]]
    +
    输出:
    false +
    解释:
    除了第一行的第一个数字从 5 改为 8 以外,空格内其他数字均与 示例1 相同。 但由于位于左上角的 3x3 宫内有两个 8 存在, 因此这个数独是无效的。
    +

     

    +

    提示:

    + +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/36_\350\247\243\346\225\260\347\213\254/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/36_\350\247\243\346\225\260\347\213\254/solution.md" index 6e6c1661..9b7a123a 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/36_\350\247\243\346\225\260\347\213\254/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/36_\350\247\243\346\225\260\347\213\254/solution.md" @@ -50,7 +50,58 @@ -

    以下错误的选项是?

    +

    编写一个程序,通过填充空格来解决数独问题。

    +

    数独的解法需 遵循如下规则

    +
      +
    1. 数字 1-9 在每一行只能出现一次。
    2. +
    3. 数字 1-9 在每一列只能出现一次。
    4. +
    5. 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)
    6. +
    +

    数独部分空格内已填入了数字,空白格用 '.' 表示。

    +

     

    +
    +
    +
    +

    示例:

    +
    输入:board = 
    +    [["5","3",".",".","7",".",".",".","."],
    +    ["6",".",".","1","9","5",".",".","."],
    +    [".","9","8",".",".",".",".","6","."],
    +    ["8",".",".",".","6",".",".",".","3"],
    +    ["4",".",".","8",".","3",".",".","1"],
    +    ["7",".",".",".","2",".",".",".","6"],
    +    [".","6",".",".",".",".","2","8","."],
    +    [".",".",".","4","1","9",".",".","5"],
    +    [".",".",".",".","8",".",".","7","9"]]
    +
    输出:
    + [["5","3","4","6","7","8","9","1","2"], + ["6","7","2","1","9","5","3","4","8"], + ["1","9","8","3","4","2","5","6","7"], + ["8","5","9","7","6","1","4","2","3"], + ["4","2","6","8","5","3","7","9","1"], + ["7","1","3","9","2","4","8","5","6"], + ["9","6","1","5","3","7","2","8","4"], + ["2","8","7","4","1","9","6","3","5"], + ["3","4","5","2","8","6","1","7","9"]] +
    解释:
    输入的数独如上图所示,唯一有效的解决方案如下所示: +

     

    +
    + + +

     

    +

    提示:

    +
      +
    • board.length == 9
    • +
    • board[i].length == 9
    • +
    • board[i][j] 是一位数字或者 '.'
    • +
    • 题目数据 保证 输入数独仅有一个解
    • +
    +
    +
    +
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/37_\345\244\226\350\247\202\346\225\260\345\210\227/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/37_\345\244\226\350\247\202\346\225\260\345\210\227/solution.md" index 30a7e166..d27f9993 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/37_\345\244\226\350\247\202\346\225\260\345\210\227/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/37_\345\244\226\350\247\202\346\225\260\345\210\227/solution.md" @@ -64,7 +64,72 @@ countAndSay(4) = 读 "21" = 一 个 2 + 一 个 1 = "12" + "11" = "1211"
  • 1 <= n <= 30
  • -

    以下错误的选项是?

    +

    +

    给定一个正整数 n ,输出外观数列的第 n 项。

    + +

    「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。

    + +

    你可以将其视作是由递归公式定义的数字字符串序列:

    + + + +

    前五项如下:

    + +
    +    1.     1
    +    2.     11
    +    3.     21
    +    4.     1211
    +    5.     111221
    +    第一项是数字 1 
    +    描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 "11"
    +    描述前一项,这个数是 11 即 “ 二 个 1 ” ,记作 "21"
    +    描述前一项,这个数是 21 即 “ 一 个 2 + 一 个 1 ” ,记作 "1211"
    +    描述前一项,这个数是 1211 即 “ 一 个 1 + 一 个 2 + 二 个 1 ” ,记作 "111221"
    +    
    + +

    描述 一个数字字符串,首先要将字符串分割为 最小 数量的组,每个组都由连续的最多 相同字符 + 组成。然后对于每个组,先描述字符的数量,然后描述字符,形成一个描述组。要将描述转换为数字字符串,先将每组中的字符数量用数字替换,再将所有描述组连接起来。

    + +

    例如,数字字符串 "3322251" 的描述如下图:

    + + + +

     

    + +

    示例 1:

    + +
    输入:n = 1
    +
    输出:
    "1" +
    解释:
    这是一个基本样例。 +
    + +

    示例 2:

    + +
    输入:n = 4
    +
    输出:
    "1211" +
    解释:
    +countAndSay(1) = "1" +countAndSay(2) = 读 "1" = 一 个 1 = "11" +countAndSay(3) = 读 "11" = 二 个 1 = "21" +countAndSay(4) = 读 "21" = 一 个 2 + 一 个 1 = "12" + "11" = "1211" +
    + +

     

    + +

    提示:

    + + +
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/38_\347\273\204\345\220\210\346\200\273\345\222\214/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/38_\347\273\204\345\220\210\346\200\273\345\222\214/solution.md" index 82e606ec..83244e7e 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/38_\347\273\204\345\220\210\346\200\273\345\222\214/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/38_\347\273\204\345\220\210\346\200\273\345\222\214/solution.md" @@ -19,7 +19,27 @@
  • candidate 中的每个元素都是独一无二的。
  • 1 <= target <= 500
  • -

    以下错误的选项是?

    +

    给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 +

    +

    candidates 中的数字可以无限制重复被选取。

    +

    说明:

    + +

    示例 1:

    +
    输入:candidates = [2,3,6,7], target = 7,
    输出:
    [[7],[2,2,3]]
    +

    示例 2:

    +
    输入:candidates = [2,3,5], target = 8,
    输出:
    [[2,2,2,2],[2,3,3],[3,5]]
    +

     

    +

    提示:

    + +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/39_\347\273\204\345\220\210\346\200\273\345\222\214 II/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/39_\347\273\204\345\220\210\346\200\273\345\222\214 II/solution.md" index e7be7046..5b02f8d5 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/39_\347\273\204\345\220\210\346\200\273\345\222\214 II/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/39_\347\273\204\345\220\210\346\200\273\345\222\214 II/solution.md" @@ -11,7 +11,19 @@
    输入: candidates = [10,1,2,7,6,1,5], target = 8,
    所求解集为:
    [[1, 7],[1, 2, 5],[2, 6],[1, 1, 6]]

    示例 2:

    输入: candidates = [2,5,2,1,2], target = 5,
    所求解集为:
    [[1,2,2],[5]]
    -

    以下错误的选项是?

    +

    给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 +

    +

    candidates 中的每个数字在每个组合中只能使用一次。

    +

    说明:

    + +

    示例 1:

    +
    输入: candidates = [10,1,2,7,6,1,5], target = 8,
    所求解集为:
    [[1, 7],[1, 2, 5],[2, 6],[1, 1, 6]]
    +

    示例 2:

    +
    输入: candidates = [2,5,2,1,2], target = 5,
    所求解集为:
    [[1,2,2],[5]]
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/3_\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/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/3_\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/solution.md" index e87eb833..576a32c2 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/3_\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/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/3_\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/solution.md" @@ -1,6 +1,7 @@ # 寻找两个正序数组的中位数

    给定两个大小分别为 mn 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数

     

    示例 1:

    输入:nums1 = [1,3], nums2 = [2]
    输出:
    2.00000
    解释:
    合并数组 = [1,2,3] ,中位数 2

    示例 2:

    输入:nums1 = [1,2], nums2 = [3,4]
    输出:
    2.50000
    解释:
    合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5

    示例 3:

    输入:nums1 = [0,0], nums2 = [0,0]
    输出:
    0.00000

    示例 4:

    输入:nums1 = [], nums2 = [1]
    输出:
    1.00000

    示例 5:

    输入:nums1 = [2], nums2 = []
    输出:
    2.00000

     

    提示:

     

    进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?

    -

    以下错误的选项是?

    +

    给定两个大小分别为 mn 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数

     

    示例 1:

    输入:nums1 = [1,3], nums2 = [2]
    输出:
    2.00000
    解释:
    合并数组 = [1,2,3] ,中位数 2

    示例 2:

    输入:nums1 = [1,2], nums2 = [3,4]
    输出:
    2.50000
    解释:
    合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5

    示例 3:

    输入:nums1 = [0,0], nums2 = [0,0]
    输出:
    0.00000

    示例 4:

    输入:nums1 = [], nums2 = [1]
    输出:
    1.00000

    示例 5:

    输入:nums1 = [2], nums2 = []
    输出:
    2.00000

     

    提示:

     

    进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/40_\347\274\272\345\244\261\347\232\204\347\254\254\344\270\200\344\270\252\346\255\243\346\225\260/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/40_\347\274\272\345\244\261\347\232\204\347\254\254\344\270\200\344\270\252\346\255\243\346\225\260/solution.md" index 53ed804c..b789a7ef 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/40_\347\274\272\345\244\261\347\232\204\347\254\254\344\270\200\344\270\252\346\255\243\346\225\260/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/40_\347\274\272\345\244\261\347\232\204\347\254\254\344\270\200\344\270\252\346\255\243\346\225\260/solution.md" @@ -1,6 +1,7 @@ # 缺失的第一个正数

    给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。

     

    进阶:你可以实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案吗?

     

    示例 1:

    输入:nums = [1,2,0]
    输出:
    3

    示例 2:

    输入:nums = [3,4,-1,1]
    输出:
    2

    示例 3:

    输入:nums = [7,8,9,11,12]
    输出:
    1

     

    提示:

    -

    以下错误的选项是?

    +

    给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。

     

    进阶:你可以实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案吗?

     

    示例 1:

    输入:nums = [1,2,0]
    输出:
    3

    示例 2:

    输入:nums = [3,4,-1,1]
    输出:
    2

    示例 3:

    输入:nums = [7,8,9,11,12]
    输出:
    1

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/41_\346\216\245\351\233\250\346\260\264/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/41_\346\216\245\351\233\250\346\260\264/solution.md" index 03f8ec29..4444b616 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/41_\346\216\245\351\233\250\346\260\264/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/41_\346\216\245\351\233\250\346\260\264/solution.md" @@ -1,6 +1,7 @@ # 接雨水

    给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

     

    示例 1:

    输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
    输出:
    6
    解释:
    上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。

    示例 2:

    输入:height = [4,2,0,3,2,5]
    输出:
    9

     

    提示:

    -

    以下错误的选项是?

    +

    给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

     

    示例 1:

    输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
    输出:
    6
    解释:
    上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。

    示例 2:

    输入:height = [4,2,0,3,2,5]
    输出:
    9

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/42_\345\255\227\347\254\246\344\270\262\347\233\270\344\271\230/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/42_\345\255\227\347\254\246\344\270\262\347\233\270\344\271\230/solution.md" index f8efe63f..44e233a9 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/42_\345\255\227\347\254\246\344\270\262\347\233\270\344\271\230/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/42_\345\255\227\347\254\246\344\270\262\347\233\270\344\271\230/solution.md" @@ -1,6 +1,7 @@ # 字符串相乘

    给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。

    示例 1:

    输入: num1 = "2", num2 = "3"
    输出:
    "6"

    示例 2:

    输入: num1 = "123", num2 = "456"
    输出:
    "56088"

    说明:

    1. num1 和 num2 的长度小于110。
    2. num1 和 num2 只包含数字 0-9
    3. num1 和 num2 均不以零开头,除非是数字 0 本身。
    4. 不能使用任何标准库的大数类型(比如 BigInteger)直接将输入转换为整数来处理
    -

    以下错误的选项是?

    +

    给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。

    示例 1:

    输入: num1 = "2", num2 = "3"
    输出:
    "6"

    示例 2:

    输入: num1 = "123", num2 = "456"
    输出:
    "56088"

    说明:

    1. num1 和 num2 的长度小于110。
    2. num1 和 num2 只包含数字 0-9
    3. num1 和 num2 均不以零开头,除非是数字 0 本身。
    4. 不能使用任何标准库的大数类型(比如 BigInteger)直接将输入转换为整数来处理
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/43_\351\200\232\351\205\215\347\254\246\345\214\271\351\205\215/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/43_\351\200\232\351\205\215\347\254\246\345\214\271\351\205\215/solution.md" index f9836aba..07d29381 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/43_\351\200\232\351\205\215\347\254\246\345\214\271\351\205\215/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/43_\351\200\232\351\205\215\347\254\246\345\214\271\351\205\215/solution.md" @@ -1,6 +1,7 @@ # 通配符匹配

    给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。

    '?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。

    两个字符串完全匹配才算匹配成功。

    说明:

    示例 1:

    输入:s = "aa"p = "a"
    输出:
    false
    解释:
    "a" 无法匹配 "aa" 整个字符串。

    示例 2:

    输入:s = "aa"p = "*"
    输出:
    true
    解释:
     '*' 可以匹配任意字符串。

    示例 3:

    输入:s = "cb"p = "?a"
    输出:
    false
    解释:
     '?' 可以匹配 'c', 但第二个 'a' 无法匹配 'b'。

    示例 4:

    输入:s = "adceb"p = "*a*b"
    输出:
    true
    解释:
     第一个 '*' 可以匹配空字符串, 第二个 '*' 可以匹配字符串 "dce".

    示例 5:

    输入:s = "acdcb"p = "a*c?b"
    输出:
    false
    -

    以下错误的选项是?

    +

    给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。

    '?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。

    两个字符串完全匹配才算匹配成功。

    说明:

    示例 1:

    输入:s = "aa"p = "a"
    输出:
    false
    解释:
    "a" 无法匹配 "aa" 整个字符串。

    示例 2:

    输入:s = "aa"p = "*"
    输出:
    true
    解释:
     '*' 可以匹配任意字符串。

    示例 3:

    输入:s = "cb"p = "?a"
    输出:
    false
    解释:
     '?' 可以匹配 'c', 但第二个 'a' 无法匹配 'b'。

    示例 4:

    输入:s = "adceb"p = "*a*b"
    输出:
    true
    解释:
     第一个 '*' 可以匹配空字符串, 第二个 '*' 可以匹配字符串 "dce".

    示例 5:

    输入:s = "acdcb"p = "a*c?b"
    输出:
    false
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/44_\350\267\263\350\267\203\346\270\270\346\210\217 II/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/44_\350\267\263\350\267\203\346\270\270\346\210\217 II/solution.md" index d4eb67ad..51ab41c3 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/44_\350\267\263\350\267\203\346\270\270\346\210\217 II/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/44_\350\267\263\350\267\203\346\270\270\346\210\217 II/solution.md" @@ -6,7 +6,14 @@
    输入: [2,3,1,1,4]
    输出:
    2
    解释:
    跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。

    说明:

    假设你总是可以到达数组的最后一个位置。

    -

    以下错误的选项是?

    +

    给定一个非负整数数组,你最初位于数组的第一个位置。

    +

    数组中的每个元素代表你在该位置可以跳跃的最大长度。

    +

    你的目标是使用最少的跳跃次数到达数组的最后一个位置。

    +

    示例:

    +
    输入: [2,3,1,1,4]
    输出:
    2
    解释:
    跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。
    +

    说明:

    +

    假设你总是可以到达数组的最后一个位置。

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/45_\345\205\250\346\216\222\345\210\227/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/45_\345\205\250\346\216\222\345\210\227/solution.md" index 12d5fb37..bc418355 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/45_\345\205\250\346\216\222\345\210\227/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/45_\345\205\250\346\216\222\345\210\227/solution.md" @@ -1,6 +1,7 @@ # 全排列

    给定一个 没有重复 数字的序列,返回其所有可能的全排列。

    示例:

    输入: [1,2,3]
    输出:
    [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]
    -

    以下错误的选项是?

    +

    给定一个 没有重复 数字的序列,返回其所有可能的全排列。

    示例:

    输入: [1,2,3]
    输出:
    [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/46_\345\205\250\346\216\222\345\210\227 II/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/46_\345\205\250\346\216\222\345\210\227 II/solution.md" index bdaa3d05..bee38032 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/46_\345\205\250\346\216\222\345\210\227 II/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/46_\345\205\250\346\216\222\345\210\227 II/solution.md" @@ -1,6 +1,7 @@ # 全排列 II

    给定一个可包含重复数字的序列 nums按任意顺序 返回所有不重复的全排列。

     

    示例 1:

    输入:nums = [1,1,2]
    输出:
    [[1,1,2], [1,2,1], [2,1,1]]

    示例 2:

    输入:nums = [1,2,3]
    输出:
    [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

     

    提示:

    -

    以下错误的选项是?

    +

    给定一个可包含重复数字的序列 nums按任意顺序 返回所有不重复的全排列。

     

    示例 1:

    输入:nums = [1,1,2]
    输出:
    [[1,1,2], [1,2,1], [2,1,1]]

    示例 2:

    输入:nums = [1,2,3]
    输出:
    [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/47_\346\227\213\350\275\254\345\233\276\345\203\217/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/47_\346\227\213\350\275\254\345\233\276\345\203\217/solution.md" index d3885064..6405d568 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/47_\346\227\213\350\275\254\345\233\276\345\203\217/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/47_\346\227\213\350\275\254\345\233\276\345\203\217/solution.md" @@ -1,6 +1,7 @@ # 旋转图像

    给定一个 × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

    你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

     

    示例 1:

    输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
    输出:
    [[7,4,1],[8,5,2],[9,6,3]]

    示例 2:

    输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
    输出:
    [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

    示例 3:

    输入:matrix = [[1]]
    输出:
    [[1]]

    示例 4:

    输入:matrix = [[1,2],[3,4]]
    输出:
    [[3,1],[4,2]]

     

    提示:

    -

    以下错误的选项是?

    +

    给定一个 × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

    你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

     

    示例 1:

    输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
    输出:
    [[7,4,1],[8,5,2],[9,6,3]]

    示例 2:

    输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
    输出:
    [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

    示例 3:

    输入:matrix = [[1]]
    输出:
    [[1]]

    示例 4:

    输入:matrix = [[1,2],[3,4]]
    输出:
    [[3,1],[4,2]]

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/48_\345\255\227\346\257\215\345\274\202\344\275\215\350\257\215\345\210\206\347\273\204/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/48_\345\255\227\346\257\215\345\274\202\344\275\215\350\257\215\345\210\206\347\273\204/solution.md" index d18f12b0..364cad0a 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/48_\345\255\227\346\257\215\345\274\202\344\275\215\350\257\215\345\210\206\347\273\204/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/48_\345\255\227\346\257\215\345\274\202\344\275\215\350\257\215\345\210\206\347\273\204/solution.md" @@ -7,7 +7,15 @@
  • 所有输入均为小写字母。
  • 不考虑答案输出的顺序。
  • -

    以下错误的选项是?

    +

    给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。

    +

    示例:

    +
    输入:[eat", "tea", "tan", "ate", "nat", "bat"]
    输出:
    [[ate","eat","tea"],["nat","tan"],["bat"]]
    +

    说明:

    + +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/49_Pow(x, n)/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/49_Pow(x, n)/solution.md" index 1f056643..0b0540b4 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/49_Pow(x, n)/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/49_Pow(x, n)/solution.md" @@ -1,6 +1,7 @@ # Pow(x, n)

    实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。

     

    示例 1:

    输入:x = 2.00000, n = 10
    输出:
    1024.00000

    示例 2:

    输入:x = 2.10000, n = 3
    输出:
    9.26100

    示例 3:

    输入:x = 2.00000, n = -2
    输出:
    0.25000
    解释:
    2-2 = 1/22 = 1/4 = 0.25

     

    提示:

    -

    以下错误的选项是?

    +

    实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。

     

    示例 1:

    输入:x = 2.00000, n = 10
    输出:
    1024.00000

    示例 2:

    输入:x = 2.10000, n = 3
    输出:
    9.26100

    示例 3:

    输入:x = 2.00000, n = -2
    输出:
    0.25000
    解释:
    2-2 = 1/22 = 1/4 = 0.25

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/4_\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/4_\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262/solution.md" index b4f2baed..fa41147d 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/4_\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/4_\346\234\200\351\225\277\345\233\236\346\226\207\345\255\220\344\270\262/solution.md" @@ -1,6 +1,7 @@ # 最长回文子串

    给你一个字符串 s,找到 s 中最长的回文子串。

     

    示例 1:

    输入:s = "babad"
    输出:
    "bab"
    解释:
    "aba" 同样是符合题意的答案。

    示例 2:

    输入:s = "cbbd"
    输出:
    "bb"

    示例 3:

    输入:s = "a"
    输出:
    "a"

    示例 4:

    输入:s = "ac"
    输出:
    "a"

     

    提示:

    -

    以下错误的选项是?

    +

    给你一个字符串 s,找到 s 中最长的回文子串。

     

    示例 1:

    输入:s = "babad"
    输出:
    "bab"
    解释:
    "aba" 同样是符合题意的答案。

    示例 2:

    输入:s = "cbbd"
    输出:
    "bb"

    示例 3:

    输入:s = "a"
    输出:
    "a"

    示例 4:

    输入:s = "ac"
    输出:
    "a"

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/50_N \347\232\207\345\220\216/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/50_N \347\232\207\345\220\216/solution.md" index 698a3dfe..e79d79aa 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/50_N \347\232\207\345\220\216/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/50_N \347\232\207\345\220\216/solution.md" @@ -1,6 +1,7 @@ # N 皇后

    n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

    给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。

    每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q''.' 分别代表了皇后和空位。

     

    示例 1:

    输入:n = 4
    输出:
    [[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]
    解释:
    如上图所示,4 皇后问题存在两个不同的解法。

    示例 2:

    输入:n = 1
    输出:
    [["Q"]]

     

    提示:

    • 1 <= n <= 9
    • 皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。
    -

    以下错误的选项是?

    +

    n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

    给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。

    每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q''.' 分别代表了皇后和空位。

     

    示例 1:

    输入:n = 4
    输出:
    [[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]
    解释:
    如上图所示,4 皇后问题存在两个不同的解法。

    示例 2:

    输入:n = 1
    输出:
    [["Q"]]

     

    提示:

    • 1 <= n <= 9
    • 皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/51_N\347\232\207\345\220\216 II/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/51_N\347\232\207\345\220\216 II/solution.md" index b872d5e7..b21f0e54 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/51_N\347\232\207\345\220\216 II/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/51_N\347\232\207\345\220\216 II/solution.md" @@ -33,7 +33,41 @@ -

    以下错误的选项是?

    +

    +

    n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

    + +

    给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。

    + +

     

    + +
    +
    +

    示例 1:

    + +
    输入:n = 4
    +
    输出:
    2 +
    解释:
    如上图所示,4 皇后问题存在两个不同的解法。 +
    + +

    示例 2:

    + +
    输入:n = 1
    +
    输出:
    1 +
    + +

     

    + +

    提示:

    + +
      +
    • 1 <= n <= 9
    • +
    • 皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。
    • +
    +
    +
    +
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/52_\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/52_\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214/solution.md" index 10cbc573..9ffb5d34 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/52_\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/52_\346\234\200\345\244\247\345\255\220\345\272\217\345\222\214/solution.md" @@ -1,5 +1,6 @@ # 最大子序和 -以下错误的选项是? +

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

     

    示例 1:

    输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
    输出:
    6
    解释:
    连续子数组 [4,-1,2,1] 的和最大,为 6 。

    示例 2:

    输入:nums = [1]
    输出:
    1

    示例 3:

    输入:nums = [0]
    输出:
    0

    示例 4:

    输入:nums = [-1]
    输出:
    -1

    示例 5:

    输入:nums = [-100000]
    输出:
    -100000

     

    提示:

     

    进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的 分治法 求解。

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/53_\350\236\272\346\227\213\347\237\251\351\230\265/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/53_\350\236\272\346\227\213\347\237\251\351\230\265/solution.md" index 97d963af..6f8d1e4d 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/53_\350\236\272\346\227\213\347\237\251\351\230\265/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/53_\350\236\272\346\227\213\347\237\251\351\230\265/solution.md" @@ -1,5 +1,6 @@ # 螺旋矩阵 -以下错误的选项是? +

    给你一个 mn 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

     

    示例 1:

    输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
    输出:
    [1,2,3,6,9,8,7,4,5]

    示例 2:

    输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
    输出:
    [1,2,3,4,8,12,11,10,9,5,6,7]

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/54_\350\267\263\350\267\203\346\270\270\346\210\217/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/54_\350\267\263\350\267\203\346\270\270\346\210\217/solution.md" index 95beae40..b4a75aab 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/54_\350\267\263\350\267\203\346\270\270\346\210\217/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/54_\350\267\263\350\267\203\346\270\270\346\210\217/solution.md" @@ -1,5 +1,6 @@ # 跳跃游戏 -以下错误的选项是? +

    给定一个非负整数数组 nums ,你最初位于数组的 第一个下标

    数组中的每个元素代表你在该位置可以跳跃的最大长度。

    判断你是否能够到达最后一个下标。

     

    示例 1:

    输入:nums = [2,3,1,1,4]
    输出:
    true
    解释:
    可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

    示例 2:

    输入:nums = [3,2,1,0,4]
    输出:
    false
    解释:
    无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/55_\345\220\210\345\271\266\345\214\272\351\227\264/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/55_\345\220\210\345\271\266\345\214\272\351\227\264/solution.md" index 40d41f5a..0275a647 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/55_\345\220\210\345\271\266\345\214\272\351\227\264/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/55_\345\220\210\345\271\266\345\214\272\351\227\264/solution.md" @@ -1,5 +1,6 @@ # 合并区间 -以下错误的选项是? +

    以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。

     

    示例 1:

    输入:intervals = [[1,3],[2,6],[8,10],[15,18]]
    输出:
    [[1,6],[8,10],[15,18]]
    解释:
    区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].

    示例 2:

    输入:intervals = [[1,4],[4,5]]
    输出:
    [[1,5]]
    解释:
    区间 [1,4] 和 [4,5] 可被视为重叠区间。

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/56_\346\217\222\345\205\245\345\214\272\351\227\264/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/56_\346\217\222\345\205\245\345\214\272\351\227\264/solution.md" index 055a502c..20ccd7f0 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/56_\346\217\222\345\205\245\345\214\272\351\227\264/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/56_\346\217\222\345\205\245\345\214\272\351\227\264/solution.md" @@ -1,5 +1,28 @@ # 插入区间 -以下错误的选项是? +

    给你一个 无重叠的按照区间起始端点排序的区间列表。

    +

    在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。

    +

     

    +

    示例 1:

    +
    输入:intervals = [[1,3],[6,9]], newInterval = [2,5]
    输出:
    [[1,5],[6,9]]
    +

    示例 2:

    +
    输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
    输出:
    [[1,2],[3,10],[12,16]]
    解释:
    这是因为新的区间 [4,8] 与 [3,5],[6,7],[8,10] 重叠。
    +

    示例 3:

    +
    输入:intervals = [], newInterval = [5,7]
    输出:
    [[5,7]]
    +

    示例 4:

    +
    输入:intervals = [[1,5]], newInterval = [2,3]
    输出:
    [[1,5]]
    +

    示例 5:

    +
    输入:intervals = [[1,5]], newInterval = [2,7]
    输出:
    [[1,7]]
    +

     

    +

    提示:

    + +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/57_\346\234\200\345\220\216\344\270\200\344\270\252\345\215\225\350\257\215\347\232\204\351\225\277\345\272\246/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/57_\346\234\200\345\220\216\344\270\200\344\270\252\345\215\225\350\257\215\347\232\204\351\225\277\345\272\246/solution.md" index 103079e9..fef35836 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/57_\346\234\200\345\220\216\344\270\200\344\270\252\345\215\225\350\257\215\347\232\204\351\225\277\345\272\246/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/57_\346\234\200\345\220\216\344\270\200\344\270\252\345\215\225\350\257\215\347\232\204\351\225\277\345\272\246/solution.md" @@ -1,5 +1,6 @@ # 最后一个单词的长度 -以下错误的选项是? +

    给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。

    单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

     

    示例 1:

    输入:s = "Hello World"
    输出:
    5

    示例 2:

    输入:s = " "
    输出:
    0

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/58_\350\236\272\346\227\213\347\237\251\351\230\265 II/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/58_\350\236\272\346\227\213\347\237\251\351\230\265 II/solution.md" index dbd52019..cc677bbe 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/58_\350\236\272\346\227\213\347\237\251\351\230\265 II/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/58_\350\236\272\346\227\213\347\237\251\351\230\265 II/solution.md" @@ -1,5 +1,6 @@ # 螺旋矩阵 II -以下错误的选项是? +

    给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix

     

    示例 1:

    输入:n = 3
    输出:
    [[1,2,3],[8,9,4],[7,6,5]]

    示例 2:

    输入:n = 1
    输出:
    [[1]]

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/59_\346\216\222\345\210\227\345\272\217\345\210\227/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/59_\346\216\222\345\210\227\345\272\217\345\210\227/solution.md" index 32e53eca..70914c98 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/59_\346\216\222\345\210\227\345\272\217\345\210\227/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/59_\346\216\222\345\210\227\345\272\217\345\210\227/solution.md" @@ -1,5 +1,6 @@ # 排列序列 -以下错误的选项是? +

    给出集合 [1,2,3,...,n],其所有元素共有 n! 种排列。

    按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:

    1. "123"
    2. "132"
    3. "213"
    4. "231"
    5. "312"
    6. "321"

    给定 n 和 k,返回第 k 个排列。

     

    示例 1:

    输入:n = 3, k = 3
    输出:
    "213"

    示例 2:

    输入:n = 4, k = 9
    输出:
    "2314"

    示例 3:

    输入:n = 3, k = 1
    输出:
    "123"

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/5_Z \345\255\227\345\275\242\345\217\230\346\215\242/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/5_Z \345\255\227\345\275\242\345\217\230\346\215\242/solution.md" index 6ce6cdaf..83e670d5 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/5_Z \345\255\227\345\275\242\345\217\230\346\215\242/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/5_Z \345\255\227\345\275\242\345\217\230\346\215\242/solution.md" @@ -49,7 +49,57 @@ P I
  • 1 <= numRows <= 1000
  • -

    以下错误的选项是?

    +

    +

    将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。

    + +

    比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:

    + +
    +    P   A   H   N
    +    A P L S I I G
    +    Y   I   R
    + +

    之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"

    + +

    请你实现这个将字符串进行指定行数变换的函数:

    + +
    string convert(string s, int numRows);
    + +

     

    + +

    示例 1:

    + +
    输入:s = "PAYPALISHIRING", numRows = 3
    +
    输出:
    "PAHNAPLSIIGYIR" +
    + 示例 2: + +
    输入:s = "PAYPALISHIRING", numRows = 4
    +
    输出:
    "PINALSIGYAHRPI" +
    解释:
    +P I N +A L S I G +Y A H R +P I +
    + +

    示例 3:

    + +
    输入:s = "A", numRows = 1
    +
    输出:
    "A" +
    + +

     

    + +

    提示:

    + + +
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/60_\346\227\213\350\275\254\351\223\276\350\241\250/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/60_\346\227\213\350\275\254\351\223\276\350\241\250/solution.md" index a36ee21f..9cc81f33 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/60_\346\227\213\350\275\254\351\223\276\350\241\250/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/60_\346\227\213\350\275\254\351\223\276\350\241\250/solution.md" @@ -1,5 +1,6 @@ # 旋转链表 -以下错误的选项是? +

    给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

     

    示例 1:

    输入:head = [1,2,3,4,5], k = 2
    输出:
    [4,5,1,2,3]

    示例 2:

    输入:head = [0,1,2], k = 4
    输出:
    [2,0,1]

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/61_\344\270\215\345\220\214\350\267\257\345\276\204/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/61_\344\270\215\345\220\214\350\267\257\345\276\204/solution.md" index a8f56bc2..cf22a134 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/61_\344\270\215\345\220\214\350\267\257\345\276\204/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/61_\344\270\215\345\220\214\350\267\257\345\276\204/solution.md" @@ -1,5 +1,24 @@ # 不同路径 -以下错误的选项是? +

    一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

    +

    机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。

    +

    问总共有多少条不同的路径?

    +

     

    +

    示例 1:

    +
    输入:m = 3, n = 7
    输出:
    28
    +

    示例 2:

    +
    输入:m = 3, n = 2
    输出:
    3
    解释:
    从左上角开始,总共有 3 条路径可以到达右下角。
    1. 向右 -> 向下 -> 向下
    2. 向下 -> 向下 -> 向右
    3. 向下 -> 向右 -> 向下
    +

    示例 3:

    +
    输入:m = 7, n = 3
    输出:
    28
    +

    示例 4:

    +
    输入:m = 3, n = 3
    输出:
    6
    +

     

    +

    提示:

    + +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/62_\344\270\215\345\220\214\350\267\257\345\276\204 II/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/62_\344\270\215\345\220\214\350\267\257\345\276\204 II/solution.md" index 0562cca7..6d10c7aa 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/62_\344\270\215\345\220\214\350\267\257\345\276\204 II/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/62_\344\270\215\345\220\214\350\267\257\345\276\204 II/solution.md" @@ -1,5 +1,28 @@ # 不同路径 II -以下错误的选项是? +

    一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。

    +

    机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。

    +

    现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

    +

    +

    网格中的障碍物和空位置分别用 10 来表示。

    +

     

    +

    示例 1:

    +
    输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
    输出:
    2
    解释:
    3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路径:
    1. 向右 -> 向右 -> 向下 -> 向下
    2. 向下 -> 向下 -> 向右 -> 向右
    +

    示例 2:

    +
    输入:obstacleGrid = [[0,1],[0,0]]
    输出:
    1
    +

     

    +

    提示:

    + +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/6_\346\225\264\346\225\260\345\217\215\350\275\254/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/6_\346\225\264\346\225\260\345\217\215\350\275\254/solution.md" index ff6d898e..5a4b286c 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/6_\346\225\264\346\225\260\345\217\215\350\275\254/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/6_\346\225\264\346\225\260\345\217\215\350\275\254/solution.md" @@ -1,6 +1,7 @@ # 整数反转

    给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

    如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。

    假设环境不允许存储 64 位整数(有符号或无符号)。

     

    示例 1:

    输入:x = 123
    输出:
    321

    示例 2:

    输入:x = -123
    输出:
    -321

    示例 3:

    输入:x = 120
    输出:
    21

    示例 4:

    输入:x = 0
    输出:
    0

     

    提示:

    -

    以下错误的选项是?

    +

    给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

    如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。

    假设环境不允许存储 64 位整数(有符号或无符号)。

     

    示例 1:

    输入:x = 123
    输出:
    321

    示例 2:

    输入:x = -123
    输出:
    -321

    示例 3:

    输入:x = 120
    输出:
    21

    示例 4:

    输入:x = 0
    输出:
    0

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/7_\345\255\227\347\254\246\344\270\262\350\275\254\346\215\242\346\225\264\346\225\260 (atoi)/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/7_\345\255\227\347\254\246\344\270\262\350\275\254\346\215\242\346\225\264\346\225\260 (atoi)/solution.md" index 6e2f64a1..0673a730 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/7_\345\255\227\347\254\246\344\270\262\350\275\254\346\215\242\346\225\264\346\225\260 (atoi)/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/7_\345\255\227\347\254\246\344\270\262\350\275\254\346\215\242\346\225\264\346\225\260 (atoi)/solution.md" @@ -108,7 +108,116 @@ -

    以下错误的选项是?

    +

    +

    请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。

    + +

    函数 myAtoi(string s) 的算法如下:

    + + + +

    注意:

    + + + +

     

    + +

    示例 1:

    + +
    输入:s = "42"
    +
    输出:
    42 +
    解释:
    加粗的字符串为已经读入的字符,插入符号是当前读取的字符。 +第 1 步:"42"(当前没有读入字符,因为没有前导空格) + ^ +第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+') + ^ +第 3 步:"42"(读入 "42") + ^ +解析得到整数 42 。 +由于 "42" 在范围 [-231, 231 - 1] 内,最终结果为 42 。
    + +

    示例 2:

    + +
    输入:s = "   -42"
    +
    输出:
    -42 +
    解释:
    +第 1 步:" -42"(读入前导空格,但忽视掉) + ^ +第 2 步:" -42"(读入 '-' 字符,所以结果应该是负数) + ^ +第 3 步:" -42"(读入 "42") + ^ +解析得到整数 -42 。 +由于 "-42" 在范围 [-231, 231 - 1] 内,最终结果为 -42 。 +
    + +

    示例 3:

    + +
    输入:s = "4193 with words"
    +
    输出:
    4193 +
    解释:
    +第 1 步:"4193 with words"(当前没有读入字符,因为没有前导空格) + ^ +第 2 步:"4193 with words"(当前没有读入字符,因为这里不存在 '-' 或者 '+') + ^ +第 3 步:"4193 with words"(读入 "4193";由于下一个字符不是一个数字,所以读入停止) + ^ +解析得到整数 4193 。 +由于 "4193" 在范围 [-231, 231 - 1] 内,最终结果为 4193 。 +
    + +

    示例 4:

    + +
    输入:s = "words and 987"
    +
    输出:
    0 +
    解释:
    +第 1 步:"words and 987"(当前没有读入字符,因为没有前导空格) + ^ +第 2 步:"words and 987"(当前没有读入字符,因为这里不存在 '-' 或者 '+') + ^ +第 3 步:"words and 987"(由于当前字符 'w' 不是一个数字,所以读入停止) + ^ +解析得到整数 0 ,因为没有读入任何数字。 +由于 0 在范围 [-231, 231 - 1] 内,最终结果为 0 。
    + +

    示例 5:

    + +
    输入:s = "-91283472332"
    +
    输出:
    -2147483648 +
    解释:
    +第 1 步:"-91283472332"(当前没有读入字符,因为没有前导空格) + ^ +第 2 步:"-91283472332"(读入 '-' 字符,所以结果应该是负数) + ^ +第 3 步:"-91283472332"(读入 "91283472332") + ^ +解析得到整数 -91283472332 。 +由于 -91283472332 小于范围 [-231, 231 - 1] 的下界,最终结果被截断为 -231 = -2147483648 。
    + +

     

    + +

    提示:

    + + +
    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/8_\345\233\236\346\226\207\346\225\260/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/8_\345\233\236\346\226\207\346\225\260/solution.md" index c7f66861..14221386 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/8_\345\233\236\346\226\207\346\225\260/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/8_\345\233\236\346\226\207\346\225\260/solution.md" @@ -1,6 +1,7 @@ # 回文数

    给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false

    回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

     

    示例 1:

    输入:x = 121
    输出:
    true

    示例 2:

    输入:x = -121
    输出:
    false
    解释:
    从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

    示例 3:

    输入:x = 10
    输出:
    false
    解释:
    从右向左读, 为 01 。因此它不是一个回文数。

    示例 4:

    输入:x = -101
    输出:
    false

     

    提示:

     

    进阶:你能不将整数转为字符串来解决这个问题吗?

    -

    以下错误的选项是?

    +

    给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false

    回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

     

    示例 1:

    输入:x = 121
    输出:
    true

    示例 2:

    输入:x = -121
    输出:
    false
    解释:
    从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

    示例 3:

    输入:x = 10
    输出:
    false
    解释:
    从右向左读, 为 01 。因此它不是一个回文数。

    示例 4:

    输入:x = -101
    输出:
    false

     

    提示:

     

    进阶:你能不将整数转为字符串来解决这个问题吗?

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/9_\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\214\271\351\205\215/solution.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/9_\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\214\271\351\205\215/solution.md" index 755787bd..bd1fa294 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/9_\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\214\271\351\205\215/solution.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/1.leetcode/9_\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\345\214\271\351\205\215/solution.md" @@ -1,6 +1,7 @@ # 正则表达式匹配

    给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。

    所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。

    示例 1:

    输入:s = "aa" p = "a"
    输出:
    false
    解释:
    "a" 无法匹配 "aa" 整个字符串。

    示例 2:

    输入:s = "aa" p = "a*"
    输出:
    true
    解释:
    因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 'a'。因此,字符串 "aa" 可被视为 'a' 重复了一次。

    示例 3:

    输入:s = "ab" p = ".*"
    输出:
    true
    解释:
    ".*" 表示可匹配零个或多个('*')任意字符('.')。

    示例 4:

    输入:s = "aab" p = "c*a*b"
    输出:
    true
    解释:
    因为 '*' 表示零个或多个,这里 'c' 为 0 个, 'a' 被重复一次。因此可以匹配字符串 "aab"。

    示例 5:

    输入:s = "mississippi" p = "mis*is*p*."
    输出:
    false

     

    提示:

    -

    以下错误的选项是?

    +

    给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。

    所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。

    示例 1:

    输入:s = "aa" p = "a"
    输出:
    false
    解释:
    "a" 无法匹配 "aa" 整个字符串。

    示例 2:

    输入:s = "aa" p = "a*"
    输出:
    true
    解释:
    因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 'a'。因此,字符串 "aa" 可被视为 'a' 重复了一次。

    示例 3:

    输入:s = "ab" p = ".*"
    输出:
    true
    解释:
    ".*" 表示可匹配零个或多个('*')任意字符('.')。

    示例 4:

    输入:s = "aab" p = "c*a*b"
    输出:
    true
    解释:
    因为 '*' 表示零个或多个,这里 'c' 为 0 个, 'a' 被重复一次。因此可以匹配字符串 "aab"。

    示例 5:

    输入:s = "mississippi" p = "mis*is*p*."
    输出:
    false

     

    提示:

    +

    以下错误的选项是?

    ## aop ### before ```cpp diff --git a/leetcode_helper.py b/leetcode_helper.py index d8394b97..d9bba171 100644 --- a/leetcode_helper.py +++ b/leetcode_helper.py @@ -104,4 +104,4 @@ def leetcode_helper_update_md(): f.write(solution_md_data) -leetcode_helper_delete_md() \ No newline at end of file +leetcode_helper_update_md() \ No newline at end of file -- GitLab