From 2c633c106da4c877e23d7da5a90bcca6c3904320 Mon Sep 17 00:00:00 2001
From: zhangzc 给定一个整数数组 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 示例 2: 示例 3: 提示: 以下错误的选项是? 给定一个整数数组 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 示例 2: 示例 3: 提示: 以下错误的选项是?nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。输入:nums = [3,2,4], target = 6
输出:[1,2]输入:nums = [3,3], target = 6
输出:[0,1]
-2 <= nums.length <= 103
-109 <= nums[i] <= 109
-109 <= target <= 109
nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。输入:nums = [3,2,4], target = 6
输出:[1,2]输入:nums = [3,3], target = 6
输出:[0,1]
+2 <= nums.length <= 103
-109 <= nums[i] <= 109
-109 <= target <= 109
给你 n
个非负整数 a1,a2,...,a
n
,每个数代表坐标中的一个点 (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 = height.length
2 <= n <= 3 * 104
0 <= height[i] <= 3 * 104
以下错误的选项是?
+给你 n
个非负整数 a1,a2,...,a
n
,每个数代表坐标中的一个点 (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 = height.length
2 <= n <= 3 * 104
0 <= height[i] <= 3 * 104
以下错误的选项是?
## 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 02753f15d..076ca22ad 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 10001 <= num <= 3999
以下错误的选项是?
+罗马数字包含以下七种字符: I
, V
, X
, L
,C
,D
和 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
。这个特殊的规则只适用于以下六种情况:
I
可以放在 V
(5) 和 X
(10) 的左边,来表示 4 和 9。X
可以放在 L
(50) 和 C
(100) 的左边,来表示 40
+ 和 90。 C
可以放在 D
(500) 和 M
(1000) 的左边,来表示 400
+ 和 900。给你一个整数,将其转为罗马数字。
+ ++ +
示例 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.
+ +
提示:
+ +1 <= num <= 3999
以下错误的选项是?
## 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 b6ce3ae8b..1d872780d 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 10001 <= num <= 3999
以下错误的选项是?
+罗马数字包含以下七种字符: I
, V
, X
, L
,C
,D
和 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
。这个特殊的规则只适用于以下六种情况:
I
可以放在 V
(5) 和 X
(10) 的左边,来表示 4 和 9。X
可以放在 L
(50) 和 C
(100) 的左边,来表示 40
+ 和 90。 C
可以放在 D
(500) 和 M
(1000) 的左边,来表示 400
+ 和 900。给你一个整数,将其转为罗马数字。
+ ++ +
示例 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.
+ +
提示:
+ +1 <= num <= 3999
以下错误的选项是?
## 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 ca3de429e..5a22720ac 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"]
输出:""
解释:输入不存在公共前缀。
提示:
0 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i]
仅由小写英文字母组成以下错误的选项是?
+编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"
示例 2:
输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。
提示:
0 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i]
仅由小写英文字母组成以下错误的选项是?
## 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 3cbafaa77..1adc01f42 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]
输出:[]
提示:
0 <= nums.length <= 3000
-105 <= nums[i] <= 105
以下错误的选项是?
+给你一个包含 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]
输出:[]
提示:
0 <= nums.length <= 3000
-105 <= nums[i] <= 105
以下错误的选项是?
## 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 6e5e5bef9..0eabbda0a 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) 。
提示:
3 <= nums.length <= 10^3
-10^3 <= nums[i] <= 10^3
-10^4 <= target <= 10^4
以下错误的选项是?
+给定一个包括 n 个整数的数组 nums
和 一个目标值 target
。找出 nums
中的三个整数,使得它们的和与 target
最接近。返回这三个数的和。假定每组输入只存在唯一答案。
示例:
输入:nums = [-1,2,1,-4], target = 1
输出:2
解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。
提示:
3 <= nums.length <= 10^3
-10^3 <= nums[i] <= 10^3
-10^4 <= target <= 10^4
以下错误的选项是?
## 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 3214a6167..41e7bd439 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"]
提示:
0 <= digits.length <= 4
digits[i]
是范围 ['2', '9']
的一个数字。以下错误的选项是?
+给定一个仅包含数字 2-9
的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
示例 1:
输入:digits = "23"
输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]
示例 2:
输入:digits = ""
输出:[]
示例 3:
输入:digits = "2"
输出:["a","b","c"]
提示:
0 <= digits.length <= 4
digits[i]
是范围 ['2', '9']
的一个数字。以下错误的选项是?
## 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 7a046659d..f68abb3b9 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
输出:[]
提示:
0 <= nums.length <= 200
-109 <= nums[i] <= 109
-109 <= target <= 109
以下错误的选项是?
+给定一个包含 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
输出:[]
提示:
0 <= nums.length <= 200
-109 <= nums[i] <= 109
-109 <= target <= 109
以下错误的选项是?
## 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 564c68718..973d20d57 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]
提示:
sz
1 <= sz <= 30
0 <= Node.val <= 100
1 <= n <= sz
以下错误的选项是?
+给你一个链表,删除链表的倒数第 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]
提示:
sz
1 <= sz <= 30
0 <= Node.val <= 100
1 <= n <= sz
以下错误的选项是?
## 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 e1dfbc8fb..23670ab8f 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:
输入:s = "()"
输出:true
示例 2:
输入:s = "()[]{}"
输出:true
示例 3:
输入:s = "(]"
输出:false
示例 4:
输入:s = "([)]"
输出:false
示例 5:
输入:s = "{[]}"
输出:true
提示:
1 <= s.length <= 104
s
仅由括号 '()[]{}'
组成以下错误的选项是?
+给定一个只包括 '('
,')'
,'{'
,'}'
,'['
,']'
的字符串 s
,判断字符串是否有效。
有效字符串需满足:
示例 1:
输入:s = "()"
输出:true
示例 2:
输入:s = "()[]{}"
输出:true
示例 3:
输入:s = "(]"
输出:false
示例 4:
输入:s = "([)]"
输出:false
示例 5:
输入:s = "{[]}"
输出:true
提示:
1 <= s.length <= 104
s
仅由括号 '()[]{}'
组成以下错误的选项是?
## 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 3c6189693..287328cbd 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]
提示:
[1, 100]
内0 <= Node.val <= 9
以下错误的选项是?
+给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 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]
提示:
[1, 100]
内0 <= Node.val <= 9
以下错误的选项是?
## 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 53a2ccb06..951ea5a66 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]
提示:
[0, 50]
-100 <= Node.val <= 100
l1
和 l2
均按 非递减顺序 排列以下错误的选项是?
+将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1:
输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]
示例 2:
输入:l1 = [], l2 = []
输出:[]
示例 3:
输入:l1 = [], l2 = [0]
输出:[0]
提示:
[0, 50]
-100 <= Node.val <= 100
l1
和 l2
均按 非递减顺序 排列以下错误的选项是?
## 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 d1e064403..7f5457350 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
输出:["()"]
提示:
1 <= n <= 8
以下错误的选项是?
+数字 n
代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
示例 1:
输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]
示例 2:
输入:n = 1
输出:["()"]
提示:
1 <= n <= 8
以下错误的选项是?
## 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 de4aa6327..30db6d94a 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 = [[]]
输出:[]
提示:
k == lists.length
0 <= k <= 10^4
0 <= lists[i].length <= 500
-10^4 <= lists[i][j] <= 10^4
lists[i]
按 升序 排列lists[i].length
的总和不超过 10^4
以下错误的选项是?
+给你一个链表数组,每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中,返回合并后的链表。
示例 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 = [[]]
输出:[]
提示:
k == lists.length
0 <= k <= 10^4
0 <= lists[i].length <= 500
-10^4 <= lists[i][j] <= 10^4
lists[i]
按 升序 排列lists[i].length
的总和不超过 10^4
以下错误的选项是?
## 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 0ffc7e611..c2cd90625 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]
提示:
[0, 100]
内0 <= Node.val <= 100
进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅修改节点本身。)
-以下错误的选项是?
+给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
示例 1:
输入:head = [1,2,3,4]
输出:[2,1,4,3]
示例 2:
输入:head = []
输出:[]
示例 3:
输入:head = [1]
输出:[1]
提示:
[0, 100]
内0 <= Node.val <= 100
进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅修改节点本身。)
+以下错误的选项是?
## 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 81934d104..3b1aa08c2 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 个一组翻转链表给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
k 是一个正整数,它的值小于或等于链表的长度。
如果节点总数不是 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]
提示:
sz
内1 <= sz <= 5000
0 <= Node.val <= 1000
1 <= k <= sz
以下错误的选项是?
+给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
k 是一个正整数,它的值小于或等于链表的长度。
如果节点总数不是 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]
提示:
sz
内1 <= sz <= 5000
0 <= Node.val <= 1000
1 <= k <= sz
以下错误的选项是?
## 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 ff56e5198..951264c33 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 。不需要考虑数组中超出新长度后面的元素。 +
+ +
提示:
+ +0 <= nums.length <= 3 * 104
-104 <= nums[i] <= 104
nums
已按升序排列+
以下错误的选项是?
## 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 4823c6b4b..eafc76e76 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。注意这五个元素可为任意顺序。你不需要考虑数组中超出新长度后面的元素。 +
+ +
提示:
+ +0 <= nums.length <= 100
0 <= nums[i] <= 50
0 <= val <= 100
以下错误的选项是?
## 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 fd4b512ca..902882437 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
haystack
和 needle
仅由小写英文字符组成以下错误的选项是?
+实现 strStr() 函数。
+给你两个字符串 haystack
和 needle
,请你在 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
+
提示:
+0 <= haystack.length, needle.length <= 5 * 104
haystack
和 needle
仅由小写英文字符组成以下错误的选项是?
## 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 c86b9b4c5..ae9b8c68d 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 81f672eef..079c26810 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"]-
输出:[]
以下错误的选项是?
+给定一个字符串 s 和一些长度相同的单词 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 7340c0e7e..8b14ba132 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
提示:
0 <= s.length <= 5 * 104
s
由英文字母、数字、符号和空格组成以下错误的选项是?
+给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: s = "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:
输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:
输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 +请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
示例 4:
输入: s = ""
输出: 0
提示:
0 <= s.length <= 5 * 104
s
由英文字母、数字、符号和空格组成以下错误的选项是?
## 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 2c8ad218e..90b199c44 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.length <= 100
0 <= nums[i] <= 100
以下错误的选项是?
+实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。
如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。
必须 原地 修改,只允许使用额外常数空间。
示例 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.length <= 100
0 <= nums[i] <= 100
以下错误的选项是?
## 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 b20aca479..d29a631b9 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 4dabd4d96..9321cfd7a 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
在预先未知的某个下标 k
(0 <= 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
+
提示:
+1 <= nums.length <= 5000
-10^4 <= nums[i] <= 10^4
nums
中的每个值都 独一无二nums
在预先未知的某个下标上进行了旋转-10^4 <= target <= 10^4
+
进阶:你可以设计一个时间复杂度为 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 75e35d6f7..d1d5085da 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]
。
进阶:
+O(log n)
的算法解决此问题吗?+
示例 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]
+
提示:
+0 <= nums.length <= 105
-109 <= nums[i] <= 109
nums
是一个非递减数组-109 <= target <= 109
以下错误的选项是?
## 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 53ea242c8..55fe4ca22 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 0090e2461..823970d0d 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-9
在每一行只能出现一次。1-9
在每一列只能出现一次。1-9
在每一个以粗实线分隔的 3x3
宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用 '.'
表示。
注意:
++
示例 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 存在, 因此这个数独是无效的。
+
提示:
+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/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 6e6c16619..9b7a123ad 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-9
在每一行只能出现一次。1-9
在每一列只能出现一次。1-9
在每一个以粗实线分隔的 3x3
宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用 '.'
表示。
+
示例:
+输入: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 30a7e166a..d27f99936 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 开始,序列中的每一项都是对前一项的描述。
+ +你可以将其视作是由递归公式定义的数字字符串序列:
+ +countAndSay(1) = "1"
countAndSay(n)
是对 countAndSay(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" +
+ +
提示:
+ +1 <= n <= 30
以下错误的选项是?
## 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 82e606ecb..83244e7e8 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
中的数字可以无限制重复被选取。
说明:
+target
)都是正整数。示例 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]]
+
提示:
+1 <= candidates.length <= 30
1 <= candidates[i] <= 200
candidate
中的每个元素都是独一无二的。1 <= target <= 500
以下错误的选项是?
## 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 e7be7046c..5b02f8d55 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 e87eb833d..576a32c27 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 @@ # 寻找两个正序数组的中位数给定两个大小分别为 m
和 n
的正序(从小到大)数组 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
提示:
nums1.length == m
nums2.length == n
0 <= m <= 1000
0 <= n <= 1000
1 <= m + n <= 2000
-106 <= nums1[i], nums2[i] <= 106
进阶:你能设计一个时间复杂度为 O(log (m+n))
的算法解决此问题吗?
以下错误的选项是?
+给定两个大小分别为 m
和 n
的正序(从小到大)数组 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
提示:
nums1.length == m
nums2.length == n
0 <= m <= 1000
0 <= n <= 1000
1 <= m + n <= 2000
-106 <= nums1[i], nums2[i] <= 106
进阶:你能设计一个时间复杂度为 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 53ed804c3..b789a7ef0 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
提示:
0 <= nums.length <= 300
-231 <= nums[i] <= 231 - 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
提示:
0 <= nums.length <= 300
-231 <= nums[i] <= 231 - 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 03f8ec294..4444b6168 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 == height.length
0 <= n <= 3 * 104
0 <= height[i] <= 105
以下错误的选项是?
+给定 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 == height.length
0 <= n <= 3 * 104
0 <= height[i] <= 105
以下错误的选项是?
## 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 f8efe63ff..44e233a9d 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"
说明:
num1
和 num2
的长度小于110。num1
和 num2
只包含数字 0-9
。num1
和 num2
均不以零开头,除非是数字 0 本身。以下错误的选项是?
+给定两个以字符串形式表示的非负整数 num1
和 num2
,返回 num1
和 num2
的乘积,它们的乘积也表示为字符串形式。
示例 1:
输入: num1 = "2", num2 = "3"
输出: "6"
示例 2:
输入: num1 = "123", num2 = "456"
输出: "56088"
说明:
num1
和 num2
的长度小于110。num1
和 num2
只包含数字 0-9
。num1
和 num2
均不以零开头,除非是数字 0 本身。以下错误的选项是?
## 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 f9836abab..07d293818 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
) ,实现一个支持 '?'
和 '*'
的通配符匹配。
'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。
两个字符串完全匹配才算匹配成功。
说明:
s
可能为空,且只包含从 a-z
的小写字母。p
可能为空,且只包含从 a-z
的小写字母,以及字符 ?
和 *
。示例 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
) ,实现一个支持 '?'
和 '*'
的通配符匹配。
'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。
两个字符串完全匹配才算匹配成功。
说明:
s
可能为空,且只包含从 a-z
的小写字母。p
可能为空,且只包含从 a-z
的小写字母,以及字符 ?
和 *
。示例 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 d4eb67ad6..51ab41c38 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 12d5fb37b..bc4183559 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 bdaa3d059..bee38032e 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]]
提示:
1 <= nums.length <= 8
-10 <= nums[i] <= 10
以下错误的选项是?
+给定一个可包含重复数字的序列 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]]
提示:
1 <= nums.length <= 8
-10 <= nums[i] <= 10
以下错误的选项是?
## 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 d38850641..6405d5688 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 × 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]]
提示:
matrix.length == n
matrix[i].length == n
1 <= n <= 20
-1000 <= matrix[i][j] <= 1000
以下错误的选项是?
+给定一个 n × 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]]
提示:
matrix.length == n
matrix[i].length == n
1 <= n <= 20
-1000 <= matrix[i][j] <= 1000
以下错误的选项是?
## 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 d18f12b08..364cad0a6 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 1f0566431..0b0540b40 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
提示:
-100.0 < x < 100.0
-231 <= n <= 231-1
-104 <= xn <= 104
以下错误的选项是?
+实现 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
提示:
-100.0 < x < 100.0
-231 <= n <= 231-1
-104 <= xn <= 104
以下错误的选项是?
## 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 b4f2baed7..fa41147d0 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"
提示:
1 <= s.length <= 1000
s
仅由数字和英文字母(大写和/或小写)组成以下错误的选项是?
+给你一个字符串 s
,找到 s
中最长的回文子串。
示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例 2:
输入:s = "cbbd"
输出:"bb"
示例 3:
输入:s = "a"
输出:"a"
示例 4:
输入:s = "ac"
输出:"a"
提示:
1 <= s.length <= 1000
s
仅由数字和英文字母(大写和/或小写)组成以下错误的选项是?
## 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 698a3dfe1..e79d79aac 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 b872d5e78..b21f0e549 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 10cbc573b..9ffb5d341 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
提示:
1 <= nums.length <= 3 * 104
-105 <= nums[i] <= 105
进阶:如果你已经实现复杂度为 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 97d963af0..6f8d1e4dc 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 @@ # 螺旋矩阵 -以下错误的选项是? +给你一个 m
行 n
列的矩阵 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]
提示:
m == matrix.length
n == matrix[i].length
1 <= m, n <= 10
-100 <= matrix[i][j] <= 100
以下错误的选项是?
## 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 95beae402..b4a75aab3 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 , 所以永远不可能到达最后一个下标。
提示:
1 <= nums.length <= 3 * 104
0 <= nums[i] <= 105
以下错误的选项是?
## 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 40d41f5a1..0275a6471 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] 可被视为重叠区间。
提示:
1 <= intervals.length <= 104
intervals[i].length == 2
0 <= starti <= endi <= 104
以下错误的选项是?
## 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 055a502c3..20ccd7f00 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]]
+
提示:
+0 <= intervals.length <= 104
intervals[i].length == 2
0 <= intervals[i][0] <= intervals[i][1] <= 105
intervals
根据 intervals[i][0]
按 升序 排列newInterval.length == 2
0 <= newInterval[0] <= newInterval[1] <= 105
以下错误的选项是?
## 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 103079e9c..fef35836d 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
提示:
1 <= s.length <= 104
s
仅有英文字母和空格 ' '
组成以下错误的选项是?
## 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 dbd52019e..cc677bbe0 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]]
提示:
1 <= n <= 20
以下错误的选项是?
## 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 32e53eca7..70914c981 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
时, 所有排列如下:
"123"
"132"
"213"
"231"
"312"
"321"
给定 n
和 k
,返回第 k
个排列。
示例 1:
输入:n = 3, k = 3
输出:"213"
示例 2:
输入:n = 4, k = 9
输出:"2314"
示例 3:
输入:n = 3, k = 1
输出:"123"
提示:
1 <= n <= 9
1 <= k <= n!
以下错误的选项是?
## 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 6ce6cdafa..83e670d5b 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 I1 <= 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 ++ 示例 2: + +
输出:"PAHNAPLSIIGYIR" +
输入: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" +
+ +
提示:
+ +1 <= s.length <= 1000
s
由英文字母(小写和大写)、','
和 '.'
组成1 <= numRows <= 1000
以下错误的选项是?
## 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 a36ee21f0..9cc81f33d 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]
提示:
[0, 500]
内-100 <= Node.val <= 100
0 <= k <= 2 * 109
以下错误的选项是?
## 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 a8f56bc21..cf22a134f 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
+
提示:
+1 <= m, n <= 100
2 * 109
以下错误的选项是?
## 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 0562cca74..6d10c7aac 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”)。
+现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?
+ +网格中的障碍物和空位置分别用 1
和 0
来表示。
+
示例 1:
+输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]+
输出:2
解释:3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路径:
1. 向右 -> 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右 -> 向右
示例 2:
+输入:obstacleGrid = [[0,1],[0,0]]+
输出:1
+
提示:
+m == obstacleGrid.length
n == obstacleGrid[i].length
1 <= m, n <= 100
obstacleGrid[i][j]
为 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 ff6d898e1..5a4b286cf 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。
示例 1:
输入:x = 123
输出:321
示例 2:
输入:x = -123
输出:-321
示例 3:
输入:x = 120
输出:21
示例 4:
输入:x = 0
输出:0
提示:
-231 <= x <= 231 - 1
以下错误的选项是?
+给你一个 32 位的有符号整数 x
,返回将 x
中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1]
,就返回 0。
示例 1:
输入:x = 123
输出:321
示例 2:
输入:x = -123
输出:-321
示例 3:
输入:x = 120
输出:21
示例 4:
输入:x = 0
输出:0
提示:
-231 <= x <= 231 - 1
以下错误的选项是?
## 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 6e2f64a1d..0673a730a 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)
的算法如下:
0
。必要时更改符号(从步骤 2 开始)。[−231, 231 − 1]
+ ,需要截断这个整数,使其保持在这个范围内。具体来说,小于 −231
的整数应该被固定为 −231
,大于
+ 231 − 1
的整数应该被固定为 231 − 1
。
+ 注意:
+ +' '
。+ +
示例 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 。
+ +
提示:
+ +0 <= s.length <= 200
s
由英文字母(大写和小写)、数字(0-9
)、' '
、'+'
、'-'
和
+ '.'
组成
+ 以下错误的选项是?
## 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 c7f66861f..142213863 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
提示:
-231 <= x <= 231 - 1
进阶:你能不将整数转为字符串来解决这个问题吗?
-以下错误的选项是?
+给你一个整数 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
提示:
-231 <= x <= 231 - 1
进阶:你能不将整数转为字符串来解决这个问题吗?
+以下错误的选项是?
## 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 755787bd3..bd1fa2943 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
提示:
0 <= s.length <= 20
0 <= p.length <= 30
s
可能为空,且只包含从 a-z
的小写字母。p
可能为空,且只包含从 a-z
的小写字母,以及字符 .
和 *
。*
时,前面都匹配到有效的字符以下错误的选项是?
+给你一个字符串 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
提示:
0 <= s.length <= 20
0 <= p.length <= 30
s
可能为空,且只包含从 a-z
的小写字母。p
可能为空,且只包含从 a-z
的小写字母,以及字符 .
和 *
。*
时,前面都匹配到有效的字符以下错误的选项是?
## aop ### before ```cpp diff --git a/leetcode_helper.py b/leetcode_helper.py index d8394b97c..d9bba171b 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