
LeetCode周赛
LeetCode周赛题目详解。
Ypuyu
Ypuyu
展开
-
[LeetCode 双周赛25] 4. 每个人戴不同帽子的方案数(状态压缩、动态规划、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:状压dp+巧妙解法1. 题目来源链接:1434. 每个人戴不同帽子的方案数2. 题目说明3. 题目解析方法一:状压dp+巧妙解法又是一道状压 dp 问题。一开始直观的思路是直接对帽子进行性状态压缩,让人去找帽子。但是这个帽子的数量太多了,不利用直接进行状态压缩,但是人的数量很少,可以对人进行状态压缩,让帽子去找人。思路如下:...原创 2020-05-04 12:52:39 · 490 阅读 · 1 评论 -
[LeetCode 双周赛25] 3. 检查一个字符串是否可以打破另一个字符串(贪心、前缀和、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:贪心+常规解法方法二:计数+前缀和+巧妙解法1. 题目来源链接:1433. 检查一个字符串是否可以打破另一个字符串2. 题目说明3. 题目解析方法一:贪心+常规解法这题真的不应该是出现在第三题啊…十分简单的贪心思路,就按字典序从小到大进行两字符串排序,然后顺序按位进行小的和小的比较,大的和大的比较,就没了啊。正常来讲比较策略也...原创 2020-05-04 11:33:28 · 239 阅读 · 0 评论 -
[LeetCode 双周赛25] 2. 改变一个整数能得到的最大差值(暴力、枚举、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法说白了就是解决两个问题,一个将原数据变至最大,另一个变至最小。差值即为最大。思路如下:1. 题目来源链接:5385. 改变一个整数能得到的最大差值2. 题目说明3. 题目解析方法一:暴力+常规解法说白了就是解决两个问题,一个将原数据变至最大,另一个变至最小。差值即为最大。思路如下:参见代码如下:// 执行用...原创 2020-05-04 10:41:05 · 287 阅读 · 0 评论 -
[LeetCode 双周赛25] 1. 拥有最多糖果的孩子(暴力、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法1. 题目来源链接:5384. 拥有最多糖果的孩子2. 题目说明3. 题目解析方法一:暴力+常规解法签到题,题目解释辣么长…没啥营养,首先遍历数组求出最大糖果的数目,然后再遍历数组看看拿到全部额外糖果时是否能大于等于最大糖果数即可。没啥好说的。参见代码如下:// 执行用时 :8 ms, 在所有 C++ 提交...原创 2020-05-03 23:44:48 · 192 阅读 · 0 评论 -
[LeetCode 周赛187] 4. 有序矩阵中的第 k 个最小数组和(暴力、优先队列、二分法、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+巧妙解法方法二:优先队列+bfs+巧妙解法方法三:二分+dfs+巧妙解1. 题目来源链接:5403. 有序矩阵中的第 k 个最小数组和2. 题目说明3. 题目解析方法一:暴力+巧妙解法有一说一,题是好理解,但是真难做…最后 1 个多小时都在干这个题目,还是没能干出来…结果暴力就能过…真的…暴力出奇迹。这个暴力不知道稳...原创 2020-05-03 23:26:35 · 388 阅读 · 2 评论 -
[LeetCode 周赛187] 3. 绝对差不超过限制的最长连续子数组(暴力、优先队列、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力投机+常规解法方法二:优先队列+双指针+巧妙解法1. 题目来源链接:5402. 绝对差不超过限制的最长连续子数组2. 题目说明3. 题目解析方法一:暴力投机+常规解法很暴力的一个暴力解法,加上一个特判就过了,若数组的最大项减去最小项还小于等于 limit 的话,说明应该返回整个数组长度。这个可有效避免重复项…但这个属实有...原创 2020-05-03 22:25:27 · 235 阅读 · 2 评论 -
[LeetCode 周赛187] 2. 是否所有 1 都至少相隔 k 个元素(暴力、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法1. 题目来源链接:5401. 是否所有 1 都至少相隔 k 个元素2. 题目说明3. 题目解析方法一:暴力+常规解法题意很明确。在此可以暴力扫描判断相邻的 1 间隔是否大于等于 k,顺便用一下对偶原则,若出现一个相邻 1 间隔小于 k 的话就返回 false,最终返回 true。参见代码如下:// 执行用...原创 2020-05-03 21:27:32 · 243 阅读 · 0 评论 -
[LeetCode 周赛187] 1. 旅行终点站(暴力、图、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法方法二:暴力+图+常规解法1. 题目来源链接:5400. 旅行终点站2. 题目说明3. 题目解析方法一:暴力+常规解法签到题,暴力思路如下:采用 map<string, string> 存储起点终点两层 for 循环统计每个终点,是否有作为起点的情况,若没有就说明这个终点是最终答案,返回即可...原创 2020-05-03 21:18:58 · 208 阅读 · 0 评论 -
[LeetCode 周赛186] 4. 带限制的子序列和(动态规划优化、优先队列、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:dp优化+巧妙解法1. 题目来源链接:5180. 带限制的子序列和2. 题目说明3. 题目解析方法一:dp优化+巧妙解法属实没搞懂怎么下手…看了大佬的讲解很久…dp 蒻鷄太难了…最大子序列问题的变种,也是一道 dp 优化问题。为什么需要优化呢,先来看看暴力 dp 的思路吧。dp[i] 表示强制选择第 i 结尾的最大子序列...原创 2020-04-26 22:35:44 · 336 阅读 · 1 评论 -
[LeetCode 周赛186] 3. 分割字符串的最大得分(数学规律、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:数学规律+常规解法1. 题目来源链接:5394. 对角线遍历 II2. 题目说明3. 题目解析方法一:数学规律+常规解法感觉就是考了一个数学知识…就矩阵的性质来讲,正对角线上的所有元素其行、列和为定值,反对角线即差为定值。若是采用模拟来做的话很可能会 TLE 啊,毕竟会达到 1e10 的复杂度了,不知道有什么优化点没。对角线...原创 2020-04-26 18:10:22 · 341 阅读 · 1 评论 -
[LeetCode 周赛186] 2. 分割字符串的最大得分(枚举、前缀和、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:枚举+前缀和+常规解法1. 题目来源链接:5393. 可获得的最大点数2. 题目说明3. 题目解析方法一:枚举+前缀和+常规解法这个数据范围的话就需要考虑一种线性的解法了,这个取法是要将前缀或者是后缀连续的全部取完,并且取到的数字个数为 k,要求返回最大取值即可,那么就可以预处理前缀和数组、后缀和数组,遍历 k 种取法求出最...原创 2020-04-26 15:55:18 · 257 阅读 · 1 评论 -
[LeetCode 周赛186] 1. 分割字符串的最大得分(暴力优化、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法方法二:暴力优化+常规解法1. 题目来源链接:5392. 分割字符串的最大得分2. 题目说明3. 题目解析方法一:暴力+常规解法数据范围很小,完全可以进行暴力求解,并且对于 O(n2)O(n^2)O(n2) 的暴力求解也是可以满足的。思路如下:遍历字符串,将原字符串分割为左右子串进行分别统计注意要保证左右子...原创 2020-04-26 15:33:24 · 339 阅读 · 1 评论 -
[LeetCode 周赛185] 4. 生成数组(暴力、动态规划、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:递推+分析+巧妙解法1. 题目来源链接:5390. 数青蛙2. 题目说明3. 题目解析方法一:递推+分析+巧妙解法有一说一确实是一道好题。在此理解这个青蛙数刚好能和最近看的操作系统多线程扯上关系,来自大佬的思想,想想确实很形象。一个线程就输出一个 "croak",可以连续输出,但是只能算作一个线程。思路如下:创建一个二维...原创 2020-04-20 10:01:43 · 210 阅读 · 3 评论 -
[LeetCode 周赛185] 3. 数青蛙(递推、分析、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:递推+分析+巧妙解法1. 题目来源链接:5390. 数青蛙2. 题目说明3. 题目解析方法一:递推+分析+巧妙解法有一说一确实是一道好题。在此理解这个青蛙数刚好能和最近看的操作系统多线程扯上关系,来自大佬的思想,想想确实很形象。一个线程就输出一个 "croak",可以连续输出,但是只能算作一个线程。思路如下:创建一个二维...原创 2020-04-19 23:15:31 · 457 阅读 · 0 评论 -
[LeetCode 周赛185] 2. 重新格式化字符串(暴力、模拟、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+模拟+常规解法1. 题目来源链接:5389. 点菜展示表2. 题目说明3. 题目解析方法一:暴力+模拟+常规解法真的是一道巨烦人的一个问题…思路如下:利用 set 存所有菜品的名字,和桌号,充分利用它去重且排序的好处开辟一个 map<string, int> 数组,数组里存放的是 map 对象,表示菜...原创 2020-04-19 22:00:47 · 147 阅读 · 1 评论 -
[LeetCode 周赛185] 1. 重新格式化字符串(暴力、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+状态压缩+巧妙解法方法二:dfs+常规解法1. 题目来源链接:5375. 恢复数组2. 题目说明3. 题目解析方法一:暴力+状态压缩+巧妙解法由于排序规则给定,第一感觉可以通过寻找规律直接进行构造性输出。但思索了一阵,还是暴力更得我心。下面来看一种模拟全排列 + 状态压缩的一种暴力方法:由于 k 的数据范围很小,所...原创 2020-04-19 21:22:42 · 175 阅读 · 1 评论 -
[LeetCode 双周赛24] 4. 恢复数组(动态规划、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:dp+巧妙解法4. 双周赛总结1. 题目来源链接:5375. 恢复数组2. 题目说明3. 题目解析方法一:dp+巧妙解法貌似是一道很经典的 DP 问题。因为一般涉及到 计数,基本就需要首先考虑动态规划了。思路如下:状态定义:dp[i] 表示前 i 位组成若干个合法数字的方案数状态转移:dp[i] += dp[j - 1...原创 2020-04-19 20:58:44 · 295 阅读 · 2 评论 -
[LeetCode 双周赛24] 3. 长度为 n 的开心字符串中字典序第 k 小的字符串(暴力、状态压缩、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+状态压缩+巧妙解法方法二:dfs+常规解法1. 题目来源链接:5373. 和为 K 的最少斐波那契数字数目2. 题目说明3. 题目解析方法一:暴力+状态压缩+巧妙解法由于排序规则给定,第一感觉可以通过寻找规律直接进行构造性输出。但思索了一阵,还是暴力更得我心。下面来看一种模拟全排列 + 状态压缩的一种暴力方法:由于...原创 2020-04-19 20:05:32 · 274 阅读 · 1 评论 -
[LeetCode 双周赛24] 2. 和为 K 的最少斐波那契数字数目(暴力、贪心、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+贪心+常规解法1. 题目来源链接:5373. 和为 K 的最少斐波那契数字数目2. 题目说明3. 题目解析方法一:暴力+贪心+常规解法十分简单的贪心思路,打表得到 fib 数列,在此没有控制长度,而是让他直接超出了 int 的数据范围,也就是超过了 k 的数据范围。也可以只预处理得到刚刚超过 k 的 fib 数列。然后按...原创 2020-04-19 18:36:52 · 186 阅读 · 1 评论 -
[LeetCode 双周赛24] 1. 逐步求和得到正数的最小值(暴力、前缀和、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法方法二:前缀和+常规解法1. 题目来源链接:5372. 逐步求和得到正数的最小值2. 题目说明3. 题目解析方法一:暴力+常规解法这一阵子暴力习惯了,遇见题脑子都不动了,看了看数据范围就直接暴力枚举。也没多想什么。思路如下:从1 开始,枚举所有可能的正数若出现和小于 1 的情况,则枚举下一个正数若累加结果...原创 2020-04-19 18:23:35 · 268 阅读 · 1 评论 -
[LeetCode 周赛184] 4. 给 N x 3 网格图涂色的方案数(递推、状压dp、数学、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:递推+状压dp+巧妙解法方法二:数学+巧妙解法1. 题目来源链接:5383. 给 N x 3 网格图涂色的方案数2. 题目说明3. 题目解析方法一:递推+状压dp+巧妙解法就为啥我还能把样例 1 的图示看成 3 列呢,结果就把题意理解错了…纠结了好久…真吐了。主要思想为递推、状压 dp,下面简单理下思路:状态定义:dp...原创 2020-04-13 01:24:24 · 463 阅读 · 1 评论 -
[LeetCode 周赛184] 3. HTML 实体解析器(字符串替换、坑点注意、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:字符串替换+坑点注意+常规解法1. 题目来源链接:1410. HTML 实体解析器2. 题目说明3. 题目解析方法一:字符串替换+坑点注意+常规解法这题本来对于 java、py 选手来讲,直接库函数 replace 一行搞定了…对于 C++ 选手就老老实实的进行字符串匹配、替换吧。简单说下思路:首先利用 map 将 HT...原创 2020-04-13 00:20:55 · 235 阅读 · 2 评论 -
[LeetCode 周赛184] 2. 查询带键的排列(模拟、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:模拟+常规解法1. 题目来源链接:5381. 查询带键的排列2. 题目说明3. 题目解析方法一:模拟+常规解法也是一道水题…数据范围决定了可以暴力模拟做。但是这题的意义又在哪呢…直接开辟一个辅助数组,每次拿到待查数组的元素后在辅助数组中进行查找,再进行从后向前的简单移位就解决了。很常规的一道题。参见代码如下:// 执行...原创 2020-04-12 21:54:02 · 125 阅读 · 0 评论 -
[LeetCode 周赛184] 1. 数组中的字符串匹配(暴力、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法1. 题目来源链接:5380. 数组中的字符串匹配2. 题目说明3. 题目解析方法一:暴力+常规解法水题一个,采用直接进行暴力判断即可,string 中的 find 方法进行子串匹配即可。参见代码如下:// 执行用时 :8 ms, 在所有 C++ 提交中击败了100.00%的用户// 内存消耗 :8.4 M...原创 2020-04-12 21:46:43 · 151 阅读 · 0 评论 -
[LeetCode 周赛183] 4. 石子游戏 III(博弈dp、记忆化、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:博弈dp+巧妙解法1. 题目来源链接:5379. 石子游戏 III2. 题目说明3. 题目解析方法一:博弈dp+巧妙解法依稀记得在专业课《运筹学》上学习过 博弈论 相关知识。由于 Alice 是先取的,且都以 最优策略 取石子,那么就会产生三种情况,即:Alice 第一次 取 1 堆、取 2 堆、取 3 堆分别对应三个结果...原创 2020-04-06 15:33:46 · 1209 阅读 · 2 评论 -
[LeetCode 周赛183] 3. 最长快乐字符串(贪心、构造、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:贪心+构造+巧妙解法1. 题目来源链接:5195. 最长快乐字符串2. 题目说明3. 题目解析方法一:贪心+构造+巧妙解法当然,转换数字的暴力方法,在 C++ 是行不通的,但支持大数运算的 py、java,就可了。这道题也是通过人数极多。既然暴力不成,那就只能模拟,简单说下思路:首先输入是一串二进制数字串,那么对于二进制字...原创 2020-04-06 00:42:52 · 338 阅读 · 1 评论 -
[LeetCode 周赛183] 2. 将二进制表示减到 1 的步骤数(模拟、逆序处理、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:模拟+逆序处理+巧妙解法1. 题目来源链接:5377. 将二进制表示减到 1 的步骤数2. 题目说明3. 题目解析方法一:模拟+逆序处理+巧妙解法当然,转换数字的暴力方法,在 C++ 是行不通的,但支持大数运算的 py、java,就可了。这道题也是通过人数极多。既然暴力不成,那就只能模拟,简单说下思路:首先输入是一串二进制...原创 2020-04-06 00:16:04 · 359 阅读 · 1 评论 -
[LeetCode 周赛183] 1. 非递增顺序的最小子序列(暴力、排序、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+排序+常规解法1. 题目来源链接:5376. 非递增顺序的最小子序列2. 题目说明3. 题目解析方法一:暴力+排序+常规解法签到题。暴力即可。首先练习下反向迭代器排升序,当然正常排序也可。遍历数组求出数组所有元素和。再正向遍历数组,每次选取最大值,并累加所有的选取值,并在所有元素和中减掉当前选取的元素值,若当前选取的子...原创 2020-04-05 23:53:32 · 255 阅读 · 3 评论 -
[LeetCode 双周赛23] 4. 做菜顺序(贪心、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:贪心+巧妙解法方法二:贪心+代码优化+巧妙解法1. 题目来源链接:5363. 做菜顺序2. 题目说明3. 题目解析方法一:贪心+巧妙解法这个第四题异常的简单了点…思路很明确啊。因为可以任意分配做菜顺序,很容易能想到对数组进行递增排序,将最大的数字放在后面,贪心的进行处理。排序后,两层 for 循环解决问题,所有菜都做,满...原创 2020-04-05 23:37:20 · 438 阅读 · 1 评论 -
[LeetCode 双周赛23] 3. 圆和矩形是否有重叠(暴力、数学、向量、顶级解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法方法二:数学+巧妙解法方法三:数学+向量+坐标变换+顶级解法1. 题目来源链接:5361. 圆和矩形是否有重叠2. 题目说明3. 题目解析方法一:暴力+常规解法这题被我直接忽略掉了,我对不起我的专业…遍历矩形的所有点,与圆心位置进行判断,若任意两点距离小于等于半径就返回 true 就行了,否则返回 false...原创 2020-04-05 23:14:01 · 363 阅读 · 1 评论 -
[LeetCode 双周赛23] 2. 构造 K 个回文字符串(暴力、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+巧妙解法1. 题目来源链接:5362. 构造 K 个回文字符串2. 题目说明3. 题目解析方法一:暴力+巧妙解法以定量字母构造回文串,肯定首先就是统计所有字母个数及关心它的奇偶性,还是比较容易能想到解法的。简单讲解下思路:首先开辟映射数组统计各个字符出现的次数,并遍历该数组所有奇数出现的次数奇数次字符一定是在回文...原创 2020-04-05 22:18:39 · 411 阅读 · 0 评论 -
[LeetCode 双周赛23] 1. 统计最大组的数目(暴力、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法1. 题目来源链接:5360. 统计最大组的数目2. 题目说明3. 题目解析方法一:暴力+常规解法比赛的时候没读懂题,真的服了,曲解了题意,题意在第一层,而我在第五层…真的服了。简单来讲,就是以 10 进制的数字按个位、十位、百位…加起来得到一个和值,也就是 数位和。由于其数字范围很小,就是从 1 到 1000...原创 2020-04-05 21:55:09 · 218 阅读 · 2 评论 -
[LeetCode 周赛182] 3. 设计地铁系统(模拟、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:模拟+常规解法1. 题目来源链接:1396. 设计地铁系统2. 题目说明3. 题目解析方法一:模拟+常规解法很纯的模拟题,思路如下:以 4 个 map 进行数据存储记录,具体功能已经注释在代码中在此记录起点、终点字符串时,若采用直接字符串相加的形式进行记录会产生歧义,例如:a、bc 和 ab、c,导致结果出错。所以需...原创 2020-03-30 23:29:25 · 756 阅读 · 1 评论 -
[LeetCode 周赛182] 4. 找到所有好字符串(数位dp、kmp、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法1. 题目来源链接:1395. 统计作战单位数2. 题目说明3. 题目解析方法一:暴力+常规解法观察数据范围很小直接枚举就可以了。题目就是要求该数组中能形成多少个 递增或递减的三元组。以递减三元组为例,即以中间位置为基准值,在左侧寻找大于该基准值的数,在右侧寻找小于该基准值的数就行了。思路很容易想到,实现的话就三...原创 2020-03-30 20:26:50 · 478 阅读 · 1 评论 -
[LeetCode 周赛182] 2. 统计作战单位数(暴力、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法1. 题目来源链接:1395. 统计作战单位数2. 题目说明3. 题目解析方法一:暴力+常规解法观察数据范围很小直接枚举就可以了。题目就是要求该数组中能形成多少个 递增或递减的三元组。以递减三元组为例,即以中间位置为基准值,在左侧寻找大于该基准值的数,在右侧寻找小于该基准值的数就行了。思路很容易想到,实现的话就三...原创 2020-03-30 19:56:45 · 274 阅读 · 0 评论 -
[LeetCode 周赛182] 1. 找出数组中的幸运数(暴力、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法1. 题目来源链接:1394. 找出数组中的幸运数2. 题目说明3. 题目解析方法一:暴力+常规解法观察数据范围很小暴力计次就行了,手速题。参见代码如下:// 执行用时 :12 ms, 在所有 C++ 提交中击败了100.00%的用户// 内存消耗 :10.1 MB, 在所有 C++ 提交中击败了100.0...原创 2020-03-30 19:37:58 · 163 阅读 · 0 评论 -
[LeetCode 周赛181] 4. 最长快乐前缀(KMP、各种炫技、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:C++17/14+string_view()应用+巧妙解法方法二:KMP+巧妙解法1. 题目来源链接:1392. 最长快乐前缀2. 题目说明3. 题目解析方法一:C++17/14+string_view()应用+巧妙解法暴力一直会超内存,单纯用 s.substr 会内存超限…还有单纯的截取字符串前后缀进行比较的话也会内存超限…...原创 2020-03-23 19:37:48 · 370 阅读 · 1 评论 -
[LeetCode 周赛181] 3. 检查网格中是否存在有效路径(bfs、硬编码、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:bfs+硬编码+常规解法1. 题目来源链接:1391. 检查网格中是否存在有效路径2. 题目说明3. 题目解析方法一:bfs+硬编码+常规解法本质就是一个深度遍历,理论上来讲 bfs、dfs 都是可以的,按照数据范围进行判断的话,dfs 确实可能会爆栈,但还没到临界值啊。平时 bfs 写的很少,除过二叉树的层序遍历,所以...原创 2020-03-23 19:02:05 · 281 阅读 · 3 评论 -
[LeetCode 周赛181] 2. 四因数(暴力、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法1. 题目来源链接:1390. 四因数2. 题目说明3. 题目解析方法一:暴力+常规解法暴力计算因数个数,因数是成对出现的,所以不存在同时两个因数都大于当前数的开平方,那么就暴力范围就降至根号当前数了。并且值得注意的一点就是 平方数 的因数只计算一次即可。先模再除顺序不能颠倒,很容易理解。参见代码如下:// ...原创 2020-03-23 18:30:22 · 269 阅读 · 1 评论 -
[LeetCode 周赛181] 1. 按既定顺序创建目标数组(暴力、常规解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法1. 题目来源链接:5364. 按既定顺序创建目标数组2. 题目说明3. 题目解析方法一:暴力+常规解法观察数据范围很小暴力做就行了。采用 insert 直接插入就好了。vector 主要时间消耗再倍增扩容上,若提前开辟好空间,insert 效率还是很高的,但在此数据量很小就没这样操作。参见代码如下:// ...原创 2020-03-23 18:06:24 · 267 阅读 · 2 评论