
Leetcode刷题
Arvin____
这个作者很懒,什么都没留下…
展开
-
[C++]LeetCode714
714 . 买卖股票的最佳时机含手续费题目:给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。示例 1:输入: prices = [1, 3, 2, 8, 4, 9], fee = 2输出: 8解原创 2022-01-06 16:53:17 · 417 阅读 · 0 评论 -
[C++]LeetCode123
123. 买卖股票的最佳时机 III题目:给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。随后,在第 7 天(股票价格 = 1)的时候买原创 2022-01-06 16:52:54 · 383 阅读 · 0 评论 -
[C++]Leetcode188
188. 买卖股票的最佳时机 IV题目:给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入:k = 2, prices = [2,4,1]输出:2解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 =原创 2022-01-06 16:52:02 · 410 阅读 · 0 评论 -
[C++]LeetCode260. 只出现一次的数字 III
260. 只出现一次的数字 III题目:给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。示例 :输入: [1,2,1,3,2,5]输出: [3,5]思路:遍历nums,通过异或操作,得到结果 s = a ^ b(a, b为恰好只出现一次的元素) 保留s的最后为1的那位保留,其余位置设置为0 ,存入在 k 里面 (如:k = 0000 0100) 3.把 k 和nums中的每一个元素进行 & 操作,可以把nums中所有元素,划分原创 2022-01-06 16:50:24 · 199 阅读 · 0 评论 -
[C++]LeetCode231. 2的幂
231. 2的幂思路:2的幂:n & (n-1) 为 0题目:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: false思路:那么对于所有2的幂,我们将它与它-1后的数做一次与运算,就会将其唯一一位1消去,最后等于0。class Solution {public: bool isPowerOfTwo(int原创 2022-01-06 16:49:57 · 193 阅读 · 0 评论 -
[C++]LeetCode342. 4的幂
342. 4的幂题目:给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x示例 1:输入:n = 16输出:true示例 2:输入:n = 5输出:false示例 3:输入:n = 1输出:true思路:4的次方数一定是2的次方数,但2的次方数不一定是4的次方数,通过4的次方数二进制可以发现4的次方数二进制中1只出现在奇数位。因此可以通过于奇数位都是1,偶数为都是原创 2022-01-06 16:49:32 · 226 阅读 · 0 评论 -
[C++]LeetCode371. 两整数之和
371. 两整数之和思路:a ^ b可以得到两数相加不进位的加法结果 (a & b) << 1可以得到两数相加产生的进位。While循环条件为:进位标志位是否为空题目:不使用运算符 + 和 - ,计算两整数 a 、b 之和。示例 1:输入: a = 1, b = 2输出: 3示例 2:输入: a = -2, b = 3输出: 1解题思路:a ^ b可以得到两数相加不进位的加法结果(a & b) << 1可以得到两数相加产生的进位将不进位的加法结原创 2022-01-06 16:49:12 · 252 阅读 · 0 评论 -
[C++]LeetCode338. 比特位计数
338. 比特位计数思路:二进数不断右移(得到范围里的每个数字),并且与1相“与”题目:给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1原创 2022-01-06 16:48:51 · 247 阅读 · 1 评论 -
[C++]LeetCode318. 最大单词长度乘积
318. 最大单词长度乘积题目:给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母。你可以认为每个单词只包含小写字母。如果不存在这样的两个单词,返回 0。示例 1:输入: [“abcw”,“baz”,“foo”,“bar”,“xtfn”,“abcdef”]输出: 16解释: 这两个单词为 “abcw”, “xtfn”。示例 2:输入: [“a”,“ab”,“abc”,“d”,“cd”,“bcd”,“a原创 2021-12-17 15:59:48 · 237 阅读 · 0 评论 -
[C++]LeetCode476. 数字的补数
476. 数字的补数思路:全1的数字与原二进制数异或,即为取反操作。题目:给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。示例 1:输入: 5 输出: 2解释: 5 的二进制表示为 101(没有前导零位),其补数为 010。所以你需要输出 2 。示例 2:输入: 1 输出: 0解释: 1 的二进制表示为 1(没有前导零位),其补数为 0。所以你需要输出 0 。class Solution {public: int findComplement(int num) {原创 2021-12-17 15:59:37 · 266 阅读 · 0 评论 -
[C++]LeetCode693. 交替位二进制数
693. 交替位二进制数题目:给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。示例 1:输入:n = 5输出:true解释:5 的二进制表示是:101示例 2:输入:n = 7输出:false解释:7 的二进制表示是:111.示例 3:输入:n = 11输出:false解释:11 的二进制表示是:1011.示例 4:输入:n = 10输出:true解释:10 的二进制表示是:1010.class Solut原创 2021-12-17 15:59:26 · 233 阅读 · 0 评论 -
[C++]LeetCode190. 颠倒二进制位
190. 颠倒二进制位类似于十进制数的颠倒题目:颠倒给定的 32 位无符号整数的二进制位。示例 1:输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596,因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000。示例 2:原创 2021-12-17 15:59:16 · 158 阅读 · 0 评论 -
[C++]LeetCode204.计数质数
204.计数质数思路:初始化所有质数都为0,for循环遍历所有数,如果当前数为true,count累加并排除掉所有当前数的倍数。统计所有小于非负整数 n 的质数的数量。示例 1:输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2:输入:n = 0输出:0示例 3:输入:n = 1输出:0解法一:超时 暴力解法(对所有小于自己的数取余不为零,则为质数)class Solution {public: int coun原创 2021-12-17 15:58:21 · 190 阅读 · 0 评论 -
[C++]LeetCode72. 编辑距离
72. 编辑距离题目:给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符、删除一个字符、替换一个字符示例 1:输入:word1 = “horse”, word2 = “ros”输出:3解释:horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -> rose (删除 ‘r’)rose -> ros (删除 ‘e’)示例 2:输入:word1 =原创 2021-12-17 15:58:12 · 137 阅读 · 0 评论 -
[C++]LeetCode583. 两个字符串的删除操作
583. 两个字符串的删除操作给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。示例:输入: “sea”, “eat”输出: 2解释: 第一步将"sea"变为"ea",第二步将"eat"变为"ea"等价于求最长公共子序列class Solution {public: int minDistance(string word1, string word2) { int n1= wor原创 2021-12-17 15:58:02 · 225 阅读 · 0 评论 -
[C++]LeetCode416.分割等和子集
416.分割等和子集题目:给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例 2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集class Solution {public: bool canParti原创 2021-12-17 15:57:41 · 216 阅读 · 0 评论 -
[C++]LeetCode1143. 最长公共子序列
1143. 最长公共子序列题目:给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。示例 1:输入:text1 = “abcd原创 2021-12-17 15:57:31 · 174 阅读 · 0 评论 -
[C++]LeetCode64.最小路径和
64.最小路径和题目:给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。class Solution {public: int minPathSum(vector<vector<int>>& grid) { int m原创 2021-12-17 15:57:09 · 175 阅读 · 0 评论 -
[C++]LeetCode268. 丢失的数字
268. 丢失的数字题目:给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。进阶:你能否实现线性时间复杂度、仅使用额外常数空间的算法解决此问题?示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例 2:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都原创 2021-12-14 17:12:28 · 587 阅读 · 0 评论 -
[C++]LeetCode136. 只出现一次的数字
只出现一次的数字思路:相同的值异或为0题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4思路:假设数组中有 2m+12m+1 个数,其中有 mm 个数各出现两次,一个数出现一次。令a1、a2、…、am为出现两次的m个数,am+1为出现一次的数。根据性质 3,数组中的全.原创 2021-12-14 17:12:18 · 222 阅读 · 0 评论 -
[C++]LeetCode461. 汉明距离
461. 汉明距离思路:先进行‘与’操作,再通过while循环来累加结果题目:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0)↑ ↑上面的箭头指出了对应二进制位不同的位置。思路:位操作是效率最高的汉明距离的实质是把两个32位数里的相同位置处的不同数字的个数,数出来原创 2021-12-14 17:12:06 · 296 阅读 · 0 评论 -
[C++]LeetCode169.多数元素
169.多数元素题目:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1: 输入: [3,2,3] 输出: 3示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2class Solution {public: int majorityElement(vector<int>& nums) { unordered_原创 2021-12-14 17:11:43 · 160 阅读 · 0 评论 -
[C++]LeetCode462. 最少移动次数使数组元素相等 II
462. 最少移动次数使数组元素相等 II题目:给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1。 您可以假设数组的长度最多为10000。例如:输入:[1,2,3]输出:2说明:只有两个动作是必要的(记得每一步仅可使其中一个元素加1或减1):[1,2,3] => [2,2,3] => [2,2,2]class Solution {public: int minMoves2(vector<int>原创 2021-12-14 17:11:29 · 346 阅读 · 0 评论 -
[C++]LeetCode67. 二进制求和
67. 二进制求和题目:给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”class Solution {public: string addBinary(string a, string b) { int asize = a.size(); int原创 2021-12-14 16:38:12 · 164 阅读 · 0 评论 -
[C++]LeetCode172. 阶乘后的零
172. 阶乘后的零题目:给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.解法一:N!有多少个后缀0,即N!有多少个质因数5。N!有多少个质因数5,即N可以划分成多少组5个数字一组,加上划分成多少组25个数字一组,加上划分多少组成125个数字一组,等等。即Ans = N/5 + N/(5^2) + N/(5^3) + …class So原创 2021-12-14 16:38:00 · 228 阅读 · 0 评论 -
[C++]LeetCode168. Excel表列名称
168. Excel表列名称题目:给定一个正整数,返回它在 Excel 表中相对应的列名称。例如,1 -> A2 -> B3 -> C…26 -> Z27 -> AA28 -> AB…示例 1:输入: 1输出: “A”示例 2:输入: 28输出: “AB”示例 3:输入: 701输出: “ZY”class Solution {public: string convertToTitle(int n) { st原创 2021-12-14 16:37:50 · 194 阅读 · 0 评论 -
[C++]LeetCode405. 数字转换为十六进制数
405. 数字转换为十六进制数题目:给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。注意:十六进制中所有字母(a-f)都必须是小写。十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符’0’来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。给定的数确保在32位有符号整数范围内。不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。示例 1:输入:26输出:“1a”示例 2:输入:-1输出:原创 2021-12-14 16:37:34 · 213 阅读 · 0 评论 -
[C++]LeetCode504. 七进制数
504. 七进制数题目:给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: “202”示例 2:输入: -7输出: “-10”class Solution {public: string convertToBase7(int num) { string s; int flag = 0; if(num < 0) { num = 0 - num;原创 2021-12-14 16:37:21 · 132 阅读 · 0 评论 -
[C++]LeetCode376.摆动序列
376.摆动序列题目:如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。给定一个整数序列,返回作为摆动序列的最长子序列的长度。 通过从原始序列中删除一原创 2021-12-06 16:25:00 · 281 阅读 · 0 评论 -
[C++]LeetCode646.最长数对链
646.最长数对链题目:给出 n 个数对。 在每一个数对中,第一个数字总是比第二个数字小。现在,我们定义一种跟随关系,当且仅当 b < c 时,数对(c, d) 才可以跟在 (a, b) 后面。我们用这种形式来构造一个数对链。给定一个对数集合,找出能够形成的最长数对链的长度。你不需要用到所有的数对,你可以以任何顺序选择其中的一些数对来构造。示例 :输入: [[1,2], [2,3], [3,4]]输出: 2解释: 最长的数对链是 [1,2] -> [3,4]class Solut原创 2021-12-06 16:24:48 · 139 阅读 · 0 评论 -
[C++]LeetCode300.最长上升子序列
300.最长上升子序列给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。class Solution {public: int lengthOfLIS(vector<int>& nums) { int原创 2021-12-06 16:24:36 · 120 阅读 · 0 评论 -
[C++]LeetCode309
309. 最佳买卖股票时机含冷冻期题目:给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,3,0,2]输出: 3解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]class Solution {public:原创 2022-01-06 16:51:38 · 140 阅读 · 0 评论 -
[C++]LeetCode377.组合总和 Ⅳ
377.组合总和 Ⅳ题目:给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。示例:nums = [1, 2, 3]target = 4所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。因此输出为 7。class Solution {public: int combinationSum4(vector<int>原创 2021-12-06 16:22:51 · 134 阅读 · 0 评论 -
[C++]LeetCode139. 单词拆分
139. 单词拆分题目:给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以被拆分成 “leet code”。示例 2:输入: s = “applepenapple”,原创 2021-12-06 16:22:34 · 628 阅读 · 0 评论 -
[C++]LeetCode518. 零钱兑换 II
518. 零钱兑换 II**题目:**给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。示例 1:输入: amount = 5, coins = [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例 2:输入: amount = 3, coins = [2]输出: 0解释: 只用面额2的硬币不能凑成总金额3。示例 3:输入: amount = 10,原创 2021-12-06 16:22:13 · 220 阅读 · 0 评论 -
[C++]LeetCode322.零钱兑换
322.零钱兑换题目:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。示例 1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1示例 3:输入:coins = [1], amount = 0输出:0示例原创 2021-12-06 16:21:55 · 229 阅读 · 0 评论 -
[C++]LeetCode474.一和零
474.一和零题目:给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。示例 1:输入:strs = [“10”, “0001”, “111001”, “1”, “0”], m = 5, n = 3输出:4解释:最多有 5 个 0 和 3 个 1 的最大子集是 {“10”,“0001”,“1”,“0”} ,因此答案是 4原创 2021-12-06 16:21:15 · 118 阅读 · 0 评论 -
[C++]LeetCode494.目标和
494.目标和题目:给定一个非负整数数组,a1, a2, …, an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。返回可以使最终数组和为目标数 S 的所有添加符号的方法数。示例:输入:nums: [1, 1, 1, 1, 1], S: 3输出:5解释:-1+1+1+1+1 = 3+1-1+1+1+1 = 3+1+1-1+1+1 = 3+1+1+1-1+1 = 3+1+1+1+1-1 = 3一共有5种方法让原创 2021-12-06 16:20:40 · 140 阅读 · 0 评论 -
[C++]LeetCode91.解码方法
91.解码方法题目:一条包含字母 A-Z 的消息通过以下方式进行了编码:‘A’ -> 1‘B’ -> 2…‘Z’ -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。题目数据保证答案肯定是一个 32 位的整数示例 1:输入:“12”输出:2解释:它可以解码为 “AB”(1 2)或者 “L”(12)。示例 2:输入:“226”输出:3解释:它可以解码为 “BZ” (2 26), “VF” (22 6), 或者 “BBF” (2 2 6) 。示例 3原创 2021-12-06 16:24:21 · 149 阅读 · 0 评论 -
[C++]LeetCode343.整数拆分
343.整数拆分题目:给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。两个特殊情况:当n=2,Smax=1; 当n=3,Smax=2;找规律:n = 4,Smax=22=4; n = 5, Sm原创 2021-11-30 13:50:29 · 605 阅读 · 0 评论