LeetCode
文章平均质量分 69
Michael阿明
两个孩子的父亲,8年机械工程师,已转行互联网做算法,一起继续加油!高举智慧,她就使你高升;怀抱智慧,她就使你尊荣。-- 箴言(4:8)
展开
-
LeetCode解题汇总目录
此篇为学习完《数据结构与算法之美》后,在LeetCode刷题的汇总目录,方便大家查找(Ctrl+Find),一起刷题,一起PK交流!如果本文对你有帮助,可以给我点赞加油! Updated on 2022.6.12刷题可以按照不同的专题进行,便于加强某个知识点的理解。另有《剑指Offer》面试题(更新完毕)、《程序员面试金典》面试题(更新完毕)、LintCode代码能力测试CAT。LeetCode MySQL 数据库解题目录点击访问 我的 LeetCode 主页我的 GitHub 主页注:本文超过字数限制,原创 2019-09-06 13:43:51 · 77596 阅读 · 367 评论 -
LeetCode 1947. 最大兼容性评分和(状态枚举DP)
学生的答案用一个二维整数数组students表示,其中students[i]是一个整数数组,包含第i名学生对调查问卷给出的答案(下标从0开始)。例如,学生答案为[1,0,1]而导师答案为[0,0,1],那么他们的兼容性评分为2,因为只有第二个和第三个答案相同。有一份由n个问题组成的调查问卷,每个问题的答案要么是0(no,否),要么是1(yes,是)。著作权归领扣网络所有。配对的学生与导师之间的兼容性评分等于学生和导师答案相同的次数。请你找出最优的学生与导师的。...原创 2022-07-30 14:53:28 · 542 阅读 · 0 评论 -
LeetCode 2343. 裁剪数字后查询第 K 小的数字
请你返回一个长度与queries相等的数组answer,其中answer[i]是第i次查询的结果。裁剪到剩下x个数位的意思是不断删除最左边的数位,直到剩下x个数位。长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!商业转载请联系官方授权,非商业转载请注明出处。给你一个下标从0开始的字符串数组nums,其中每个字符串。再给你一个下标从0开始的二维整数数组queries,其中。nums中的字符串可能会有前导0。来源力扣(LeetCode)...原创 2022-07-30 13:29:27 · 480 阅读 · 0 评论 -
LeetCode 2349. 设计数字容器系统(SortedSet)
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。来源力扣(LeetCode)返回系统中给定数字的。原创 2022-07-30 12:50:27 · 521 阅读 · 0 评论 -
LeetCode 2333. 最小差值平方和(贪心)
同时给你两个正整数k1和k2。你可以将nums1中的任意元素+1或者-1至多k1次。数组nums1和nums2的差值平方和定义为所有满足0原创 2022-07-30 12:28:21 · 896 阅读 · 0 评论 -
LeetCode 2336. 无限集中的最小数字(SortedSet)
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!现有一个包含所有正整数的集合[1,2,3,4,5,…著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。来源力扣(LeetCode)...原创 2022-07-30 11:21:42 · 415 阅读 · 0 评论 -
LeetCode 2353. 设计食物评分系统(sortedcontainers)
注意,字符串x的字典序比字符串y更小的前提是x在字典中出现的位置在y之前,也就是说,要么x是y的前缀,或者在满足x[i]!=y[i]的第一个位置i处,x[i]在字母表中出现的位置在y[i]之前。食物由foods、cuisines和ratings描述,长度均为n。长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!修改名字为food的食物的评分。是第i种食物的烹饪方式。是第i种食物的最初评分。是第i种食物的名字。...原创 2022-07-30 11:06:35 · 496 阅读 · 0 评论 -
LeetCode 2352. 相等行列对
给你一个下标从0开始、大小为nxn的整数矩阵grid,返回满足Ri行和Cj列相等的行列对(Ri,Cj)的数目。如果行和列以相同的顺序包含相同的元素(即相等的数组),则认为二者是相等的。长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。来源力扣(LeetCode)...原创 2022-07-29 23:57:31 · 1642 阅读 · 0 评论 -
LeetCode 2348. 全 0 子数组的数目
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。子数组是一个数组中一段连续非空元素组成的序列。给你一个整数数组nums,返回。来源力扣(LeetCode)...原创 2022-07-29 23:29:01 · 337 阅读 · 0 评论 -
LeetCode 2342. 数位和相等数对的最大和
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。给你一个下标从0开始的数组nums,数组中的元素都是。请你找出所有满足条件的下标i和j,找出并返回。请你选出两个下标i和j。来源力扣(LeetCode)...原创 2022-07-29 23:17:58 · 1411 阅读 · 1 评论 -
LeetCode 2351. 第一个出现两次的字母
如果a的第二次出现比b的第二次出现在字符串中的位置更靠前,则认为字母a在字母b之前出现两次。长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。给你一个由小写英文字母组成的字符串s,请你找出并返回。s包含至少一个出现两次的字母。来源力扣(LeetCode)...原创 2022-07-27 08:04:56 · 366 阅读 · 0 评论 -
LeetCode 2347. 最好的扑克手牌
给你一个整数数组ranks和一个字符数组suit。你有5张扑克牌,第i张牌大小为ranks[i],花色为suits[i]。长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。请你返回一个字符串,表示给定的5张牌中,你能组成的。注意返回的字符串大小写需与题目描述相同。下述是从好到坏你可能持有的。...原创 2022-07-27 08:00:09 · 498 阅读 · 0 评论 -
LeetCode 2341. 数组能形成多少数对
返回一个下标从0开始、长度为2的整数数组answer作为答案,其中answer[0]是形成的数对数目,answer[1]是对nums尽可能执行上述操作后剩下的整数数目。给你一个下标从0开始的整数数组nums。长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。请你在nums上多次执行此操作直到无法继续执行。来源力扣(LeetCode)...原创 2022-07-27 07:51:16 · 254 阅读 · 0 评论 -
LeetCode 2249. 统计圆内格点数目
表示网格上圆心为(xi,yi)且半径为ri的第i个圆,返回出现在。长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。给你一个二维整数数组circles,其中。圆周上的点也被视为出现在圆内的点。来源力扣(LeetCode)格点是指整数坐标对应的点。圆内的格点数目。...原创 2022-07-16 23:34:09 · 221 阅读 · 0 评论 -
LeetCode 2335. 装满杯子需要的最短总时长
给你一个下标从0开始、长度为3的整数数组amount,其中amount[0]、amount[1]和amount[2]分别表示需要装满。长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满2杯。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。来源力扣(LeetCode)返回装满所有杯子所需的。类型的水或者1杯。...原创 2022-07-16 23:11:11 · 209 阅读 · 0 评论 -
LeetCode 2331. 计算布尔二叉树的值(树的遍历)
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。是每个节点有0个或者2个孩子的二叉树。返回根节点root的布尔运算值。来源力扣(LeetCode)叶子节点是没有孩子的节点。...原创 2022-07-16 22:29:19 · 234 阅读 · 0 评论 -
LeetCode 2325. 解密消息(map)
给你字符串key和message,分别表示一个加密密钥和一段加密消息。(实际的加密密钥会包含字母表中每个字母至少一次),据此,可以得到部分对照表。长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...原创 2022-07-16 22:18:41 · 228 阅读 · 0 评论 -
LeetCode 2319. 判断矩阵是否是一个 X 矩阵
如果grid是一个X矩阵,返回true;否则,返回false。给你一个大小为nxn的二维整数数组grid,表示一个正方形矩阵。长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。来源力扣(LeetCode)如果一个正方形矩阵满足下述。...原创 2022-07-16 22:06:22 · 353 阅读 · 0 评论 -
LeetCode 2315. 统计星号(字符串)
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。给你一个字符串s,每两个连续竖线。为一对,第三个和第四个。都会恰好属于一个对。换言之,第一个和第二个。index为偶数的。...原创 2022-07-16 21:57:54 · 232 阅读 · 0 评论 -
LeetCode 2310. 个位数字为 K 的整数之和(枚举)
给你两个整数 num 和 k ,考虑具有以下属性的正整数多重集:返回该多重集的最小大小,如果不存在这样的多重集,返回 -1 。注意:多重集与集合类似,但多重集可以包含多个同一整数,空多重集的和为 0 。个位数字 是数字最右边的数位。2. 解题特殊情况先考虑,然后再考虑个位数个数从 1 - 10 个,能否得到 num 的个位数,注意 k*个数 ......原创 2022-06-19 13:57:04 · 319 阅读 · 0 评论 -
LeetCode 2309. 兼具大小写的最好英文字母
给你一个由英文字母组成的字符串 s ,请你找出并返回 s 中的 最好 英文字母。返回的字母必须为大写形式。如果不存在满足条件的字母,则返回一个空字符串。最好 英文字母的大写和小写形式必须 都 在 s 中出现。英文字母 b 比另一个英文字母 a 更好 的前提是:英文字母表中,b 在 a 之 后 出现。2. 解题利用set存储字符,检查 大小写字符是否都存在32 ms 15.2 MB Python3我的CSDN博客地址 https://michael.blog.csdn.net/长按或扫码关注我原创 2022-06-19 13:27:29 · 187 阅读 · 0 评论 -
LeetCode 2305. 公平分发饼干(DFS)
给你一个整数数组 cookies ,其中 表示在第 i 个零食包中的饼干数量。另给你一个整数 k 表示等待分发零食包的孩子数量,所有 零食包都需要分发。在同一个零食包中的所有饼干都必须分发给同一个孩子,不能分开。分发的 不公平程度 定义为单个孩子在分发过程中能够获得饼干的最大总数。返回所有分发的最小不公平程度。2. 解题数据规模很小,深度优先暴力搜索736 ms 6.7 MB C++我的CSDN博客地址 https://michael.blog.csdn.net/长按或扫码关注我的公众号原创 2022-06-12 15:27:24 · 339 阅读 · 0 评论 -
LeetCode 2304. 网格中的最小路径代价(动态规划)
给你一个下标从 0 开始的整数矩阵 grid ,矩阵大小为 ,由从 0 到 的不同整数组成。你可以在此矩阵中,从一个单元格移动到 下一行 的任何其他单元格。如果你位于单元格 ,且满足 x < m - 1 ,你可以移动到 中的任何一个单元格。注意: 在最后一行中的单元格不能触发移动。每次可能的移动都需要付出对应的代价,代价用一个下标从 0 开始的二维数组 moveCost 表示,该数组大小为 ,其中 是从值为 的单元格移动到下一行第 单元格的代价。从 grid 最后一行的单元格移动的代价可以忽原创 2022-06-12 14:58:50 · 233 阅读 · 0 评论 -
LeetCode 2303. 计算应缴税款总额
给你一个下标从 0 开始的二维整数数组 brackets ,其中 ,表示第 i 个税级的上限是 ,征收的税率为 。税级按上限 从低到高排序(在满足 0 < i < brackets.length 的前提下,upperi-1 < upperi)。税款计算方式如下:给你一个整数 表示你的总收入。返回你需要缴纳的税款总额。与标准答案误差不超 10-5 的结果将被视作正确答案。2. 解题按题意模拟44 ms 15.1 MB Python3我的CSDN博客地址 https://michael原创 2022-06-12 14:03:57 · 180 阅读 · 0 评论 -
LeetCode 2302. 统计得分小于 K 的子数组数目(前缀和+二分查找)
一个数组的 分数 定义为数组之和 乘以 数组的长度。比方说,[1, 2, 3, 4, 5] 的分数为 。给你一个正整数数组 nums 和一个整数 k ,请你返回 nums 中分数 严格小于 k 的 非空整数子数组数目。子数组 是数组中的一个连续元素序列。2. 解题以每个数字 为 左端点的 子数组,有多少个右端点满足条件呢题目总的数字都是正数, 是单调递增的,可以进行二分查找,查找最右边的位置 j,满足条件 6264 ms 26.8 MB Python3我的CSDN博客地址 https:原创 2022-06-12 13:36:57 · 220 阅读 · 0 评论 -
LeetCode 2301. 替换字符后匹配(字典)
给你两个字符串 s 和 sub 。同时给你一个二维字符数组 mappings ,其中 表示你可以替换 sub 中任意数目的 字符,替换成 。sub 中每个字符 不能 被替换超过一次。如果使用 mappings 替换 0 个或者若干个字符,可以将 sub 变成 s 的一个子字符串,请你返回 true,否则返回 false 。一个 子字符串 是字符串中连续非空的字符序列。2. 解题把映射关系存入 dict,char -> set滑窗遍历 s ,检查滑窗内的字符 是否都能变成 sub285原创 2022-06-12 08:45:15 · 233 阅读 · 0 评论 -
LeetCode 2300. 咒语和药水的成功对数(二分查找)
给你两个正整数数组 spells 和 potions ,长度分别为 n 和 m ,其中 表示第 i 个咒语的能量强度, 表示第 j 瓶药水的能量强度。同时给你一个整数 success 。一个咒语和药水的能量强度 相乘 如果 大于等于 success ,那么它们视为一对 成功 的组合。请你返回一个长度为 n 的整数数组 pairs,其中 pairs[i] 是能跟第 i 个咒语成功组合的 药水 数目。2. 解题数据量很大,需要使用二分查找对 排序后,对每个 在 中二分查找左侧的 所在的位置原创 2022-06-12 08:04:58 · 321 阅读 · 0 评论 -
LeetCode 2299. 强密码检验器 II
如果一个密码满足以下所有条件,我们称它是一个 强 密码:给你一个字符串 password ,如果它是一个 强 密码,返回 true,否则返回 false 。2. 解题按题意模拟0 ms 6.1 MB C++我的CSDN博客地址 https://michael.blog.csdn.net/长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!......原创 2022-06-12 07:38:40 · 150 阅读 · 0 评论 -
LeetCode 2296. 设计一个文本编辑器(双栈)
请你设计一个带光标的文本编辑器,它可以实现以下功能:当删除文本时,只有光标左边的字符会被删除。光标会留在文本内,也就是说任意时候 0原创 2022-06-05 16:18:06 · 208 阅读 · 0 评论 -
LeetCode 2295. 替换数组中的元素
给你一个下标从 0 开始的数组 nums ,它包含 n 个 互不相同 的正整数。请你对这个数组执行 m 个操作,在第 i 个操作中,你需要将数字 替换成 。题目保证在第 i 个操作中:请你返回执行完所有操作后的数组。2. 解题字典存储数字的 下标172 ms 62.3 MB Python3我的CSDN博客地址 https://michael.blog.csdn.net/长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!......原创 2022-06-05 15:54:43 · 245 阅读 · 0 评论 -
LeetCode 2294. 划分数组使最大差为 K
给你一个整数数组 nums 和一个整数 k 。你可以将 nums 划分成一个或多个 子序列 ,使 nums 中的每个元素都 恰好 出现在一个子序列中。在满足每个子序列中最大值和最小值之间的差值 的前提下,返回需要划分的 最少 子序列数目。子序列 本质是一个序列,可以通过删除另一个序列中的某些元素(或者不删除)但不改变剩下元素的顺序得到。2. 解题题目说是子序列,那可以随意组合元素排序后,把最大最小的数 满足差距不超过k 的放在一起168 ms 25 MB Python3我的CSDN博客地址原创 2022-06-05 15:41:16 · 342 阅读 · 0 评论 -
LeetCode 2293. 极大极小游戏
给你一个下标从 0 开始的整数数组 nums ,其长度是 2 的幂。对 nums 执行下述算法:从步骤 1 开始 重复 整个过程。执行算法后,返回 nums 中剩下的那个数字。示例 1:2. 解题原地覆盖数组,模拟4 ms 9.6 MB C++我的CSDN博客地址 https://michael.blog.csdn.net/长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!......原创 2022-06-05 15:33:12 · 140 阅读 · 0 评论 -
LeetCode 2287. 重排字符形成目标字符串
文章目录1. 题目2. 解题1. 题目给你两个下标从 0 开始的字符串 s 和 target 。你可以从 s 取出一些字符并将其重排,得到若干新的字符串。从 s 中取出字符并重新排列,返回可以形成 target 的 最大 副本数。示例 1:输入:s = "ilovecodingonleetcode", target = "code"输出:2解释:对于 "code" 的第 1 个副本,选取下标为 4 、5 、6 和 7 的字符。对于 "code" 的第 2 个副本,选取下标为 17 、18原创 2022-05-29 12:13:37 · 295 阅读 · 0 评论 -
LeetCode 2285. 道路的最大总重要性
文章目录1. 题目2. 解题1. 题目给你一个整数 n ,表示一个国家里的城市数目。城市编号为 0 到 n - 1 。给你一个二维整数数组 roads ,其中 roads[i] = [ai, bi] 表示城市 ai 和 bi 之间有一条 双向 道路。你需要给每个城市安排一个从 1 到 n 之间的整数值,且每个值只能被使用 一次 。道路的 重要性 定义为这条道路连接的两座城市数值 之和 。请你返回在最优安排下,所有道路重要性 之和 最大 为多少。示例 1:输入:n = 5, roads =原创 2022-05-29 11:15:23 · 161 阅读 · 0 评论 -
LeetCode 2284. 最多单词数的发件人
文章目录1. 题目2. 解题1. 题目给你一个聊天记录,共包含 n 条信息。给你两个字符串数组 messages 和 senders ,其中 messages[i] 是 senders[i] 发出的一条 信息 。一条 信息 是若干用单个空格连接的 单词 ,信息开头和结尾不会有多余空格。发件人的 单词计数 是这个发件人总共发出的 单词数 。注意,一个发件人可能会发出多于一条信息。请你返回发出单词数 最多 的发件人名字。如果有多个发件人发出最多单词数,请你返回 字典序 最大的名字。注意:字典序里,原创 2022-05-29 10:31:32 · 141 阅读 · 0 评论 -
LeetCode 2283. 判断一个数的数字计数是否等于数位的值
文章目录1. 题目2. 解题1. 题目给你一个下标从 0 开始长度为 n 的字符串 num ,它只包含数字。如果对于 每个 0 <= i < n 的下标 i ,都满足数位 i 在 num 中出现了 num[i]次,那么请你返回 true ,否则返回 false 。示例 1:输入:num = "1210"输出:true解释:num[0] = '1' 。数字 0 在 num 中出现了一次。num[1] = '2' 。数字 1 在 num 中出现了两次。num[2] = '1' 。原创 2022-05-29 10:14:41 · 217 阅读 · 1 评论 -
LeetCode 2280. 表示一个折线图的最少线段数(几何)
文章目录1. 题目2. 解题1. 题目给你一个二维整数数组 stockPrices ,其中 stockPrices[i] = [dayi, pricei] 表示股票在 dayi 的价格为 pricei 。折线图 是一个二维平面上的若干个点组成的图,横坐标表示日期,纵坐标表示价格,折线图由相邻的点连接而成。比方说下图是一个例子:请你返回要表示一个折线图所需要的 最少线段数 。示例 1:输入:stockPrices = [[1,7],[2,6],[3,5],[4,4],[5,4],[6,3]原创 2022-05-22 14:23:47 · 168 阅读 · 0 评论 -
LeetCode 2279. 装满石头的背包的最大数量(贪心)
文章目录1. 题目2. 解题1. 题目现有编号从 0 到 n - 1 的 n 个背包。给你两个下标从 0 开始的整数数组 capacity 和 rocks 。第 i 个背包最大可以装 capacity[i] 块石头,当前已经装了 rocks[i] 块石头。另给你一个整数 additionalRocks ,表示你可以放置的额外石头数量,石头可以往 任意 背包中放置。请你将额外的石头放入一些背包中,并返回放置后装满石头的背包的 最大 数量。示例 1:输入:capacity = [2,3,4,5]原创 2022-05-22 13:35:02 · 667 阅读 · 0 评论 -
LeetCode 2278. 字母在字符串中的百分比
文章目录1. 题目2. 解题1. 题目给你一个字符串 s 和一个字符 letter ,返回在 s 中等于 letter 字符所占的 百分比 ,向下取整到最接近的百分比。示例 1:输入:s = "foobar", letter = "o"输出:33解释:等于字母 'o' 的字符在 s 中占到的百分比是 2 / 6 * 100% = 33% , 向下取整,所以返回 33 。示例 2:输入:s = "jjjj", letter = "k"输出:0解释:等于字母 'k' 的字符在 s 中原创 2022-05-22 13:12:44 · 293 阅读 · 0 评论 -
LeetCode 2275. 按位与结果大于零的最长组合(位运算)
文章目录1. 题目2. 解题1. 题目对数组 nums 执行 按位与 相当于对数组 nums 中的所有整数执行 按位与 。例如,对 nums = [1, 5, 3] 来说,按位与等于 1 & 5 & 3 = 1 。同样,对 nums = [7] 而言,按位与等于 7 。给你一个正整数数组 candidates 。计算 candidates 中的数字每种组合下 按位与 的结果。 candidates 中的每个数字在每种组合中只能使用 一次 。返回按位与结果大于 0 的 最长原创 2022-05-15 14:52:03 · 353 阅读 · 0 评论