
力扣
文章平均质量分 64
力扣
yuzhang_zy
现在的我不是最好的我,未来的我才是最好的我,每一篇博客都记录着我的成长
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
272 最长公共上升子序列
1. 问题描述:熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目,小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们研究最长公共上升子序列了。小沐沐说,对于两个数列 A 和 B,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子序列。不过,只要告诉奶牛它的长度就可以了。数列 A 和 B 的长度均不超过 3000。输入格式第一行原创 2021-09-18 16:18:36 · 206 阅读 · 0 评论 -
85 最大矩形(优化暴力)
1. 问题描述:给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例 1:输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]输出:6解释:最大矩形如上图所示示例 2:输入:matrix = []输出:0示例 3:输入:matrix = [["0"]]输出:0示例 4:输入:ma原创 2022-06-07 18:04:21 · 698 阅读 · 0 评论 -
2155 分组得分最高的所有下标(前缀和 + 后缀和)
1. 问题描述:给你一个下标从 0 开始的二进制数组 nums ,数组长度为 n 。nums 可以按下标 i( 0 <= i <= n )拆分成两个数组(可能为空):numsleft 和 numsright 。numsleft 包含 nums 中从下标 0 到 i - 1 的所有元素(包括 0 和 i - 1 ),而 numsright 包含 nums 中从下标 i 到 n - 1 的所有元素(包括 i 和 n - 1 )。如果 i == 0 ,numsleft 为空 ,而 numsrig原创 2022-04-29 22:17:41 · 431 阅读 · 0 评论 -
2154 将找到的值乘以 2(模拟、哈希表)
1. 问题描述:给你一个整数数组 nums ,另给你一个整数 original ,这是需要在 nums 中搜索的第一个数字。接下来,你需要按下述步骤操作:如果在 nums 中找到 original ,将 original乘以 2 ,得到新 original(即,令 original = 2 * original)。否则,停止这一过程。只要能在数组中找到新 original ,就对新 original 继续 重复 这一过程。返回 original 的最终值。示例 1:输入:nums = .原创 2022-04-29 21:29:20 · 1071 阅读 · 0 评论 -
2178 拆分成最多数目的正偶数之和(贪心)
1. 问题描述:给你一个整数finalSum。请你将它拆分成若干个互不相同的正偶数之和,且拆分出来的正偶数数目最多。比方说,给你finalSum = 12,那么这些拆分是符合要求的(互不相同的正偶数且和为finalSum):(2 + 10),(2 + 4 + 6)和(4 + 8)。它们中,(2 + 4 + 6)包含最多数目的整数。注意finalSum不能拆分成(2 + 2 + 4 + 4),因为拆分出来的整数必须互不相同。请你返回一个整数数组,表示将整数拆分成最多数目的正偶...原创 2022-04-29 20:45:55 · 622 阅读 · 0 评论 -
2176 统计数组中相等且可以被整除的数对(暴力枚举)
1. 问题描述:给你一个下标从 0开始长度为 n的整数数组nums和一个整数k,请你返回满足0 <= i < j < n,nums[i] == nums[j] 且(i * j)能被k整除的数对(i, j)的数目。示例 1:输入:nums = [3,1,2,2,2,1,3],k = 2输出:4解释:总共有 4 对数符合所有要求:- nums[0] == nums[6] 且 0 * 6 == 0 ,能被 2 整除。- nums[2] ==...原创 2022-04-28 23:08:08 · 1025 阅读 · 0 评论 -
2161 根据给定数字划分数组(模拟、双指针)
1. 问题描述:给你一个下标从 0开始的整数数组nums和一个整数pivot。请你将nums重新排列,使得以下条件均成立:所有小于pivot的元素都出现在所有大于pivot的元素之前。所有等于pivot的元素都出现在小于和大于 pivot的元素中间。小于 pivot的元素之间和大于 pivot的元素之间的相对顺序不发生改变。更正式的,考虑每一对pi,pj,pi是初始时位置 i元素的新位置,pj是初始时位置j元素的新位置。对于小于pivot的元...原创 2022-04-14 17:17:01 · 451 阅读 · 0 评论 -
2171 拿出最少数目的魔法豆(枚举 + 前缀和)
1. 问题描述:给你一个整数数组beans,其中每个整数表示一个袋子里装的魔法豆的数目。请你从每个袋子中拿出一些豆子(也可以不拿出),使得剩下的非空袋子中(即至少还有一颗魔法豆的袋子)魔法豆的数目相等。一旦魔法豆从袋子中取出,你不能将它放到任何其他的袋子中。请你返回你需要拿出魔法豆的最少数目。示例 1:输入:beans = [4,1,6,5]输出:4解释:- 我们从有 1 个魔法豆的袋子中拿出 1 颗魔法豆。 剩下袋子中魔法豆的数目为:[4,0,6,5]- 然后我们从有 6...原创 2022-04-13 18:13:44 · 1349 阅读 · 0 评论 -
2221 数组的三角和(模拟)
1. 问题描述:给你一个下标从 0开始的整数数组nums,其中nums[i]是 0到 9之间(两者都包含)的一个数字。nums的三角和是执行以下操作以后最后剩下元素的值:nums初始包含n个元素。如果n == 1,终止操作。否则,创建一个新的下标从0开始的长度为 n - 1的整数数组newNums。对于满足0 <= i <n - 1的下标i,newNums[i] 赋值为(nums[i] + nums[i+1]) % 10,%表示取余运算...原创 2022-04-08 16:08:13 · 325 阅读 · 1 评论 -
2225 找出输掉零场或一场比赛的玩家(哈希表)
1. 问题描述:给你一个整数数组 matches 其中 matches[i] = [winneri,loseri] 表示在一场比赛中 winneri 击败了 loseri 。返回一个长度为 2 的列表 answer :answer[0] 是所有没有输掉任何比赛的玩家列表。answer[1] 是所有恰好输掉一场比赛的玩家列表。两个列表中的值都应该按递增顺序返回。注意:只考虑那些参与至少一场比赛的玩家。生成的测试用例保证不存在两场比赛结果相同 。示例 1:输入:matches = [[.原创 2022-04-09 22:46:10 · 908 阅读 · 0 评论 -
2170 使数组变成交替数组的最少操作数(贪心、哈希表)
1. 问题描述:给你一个下标从 0 开始的数组 nums ,该数组由 n 个正整数组成。如果满足下述条件,则数组 nums 是一个交替数组 :nums[i - 2] == nums[i] ,其中 2 <= i <= n - 1 。nums[i - 1] != nums[i] ,其中 1 <= i <= n - 1 。在一步操作中,你可以选择下标 i 并将 nums[i] 更改为任一正整数。返回使数组变成交替数组的最少操作数 。示例 1:输入:nums = [3,1,原创 2022-04-11 18:21:01 · 1819 阅读 · 0 评论 -
2169 得到 0 的操作数(模拟)
1. 问题描述:给你两个非负整数 num1 和 num2 。每一步操作中,如果 num1 >= num2 ,你必须用 num1 减 num2 ;否则,你必须用 num2 减 num1 。例如,num1 = 5 且 num2 = 4 ,应该用num1 减 num2 ,因此,得到 num1 = 1 和 num2 = 4 。然而,如果 num1 = 4且 num2 = 5 ,一步操作后,得到 num1 = 4 和 num2 = 1 。返回使 num1 = 0 或 num2 = 0 的操作数 。示例.原创 2022-04-10 20:32:21 · 995 阅读 · 0 评论 -
2224 转化时间需要的最少操作数(模拟)
1. 问题描述:给你两个字符串 current 和 correct ,表示两个 24 小时制时间 。24 小时制时间按 "HH:MM" 进行格式化,其中 HH 在 00 和 23 之间,而 MM 在 00 和 59 之间。最早的 24 小时制时间为 00:00 ,最晚的是 23:59 。在一步操作中,你可以将 current 这个时间增加 1、5、15 或 60 分钟。你可以执行这一操作任意次数。返回将current 转化为 correct 需要的最少操作数 。示例 1:输入:current .原创 2022-04-09 17:10:14 · 303 阅读 · 0 评论 -
2222 选择建筑的方案数(递推、找规律)
1. 问题描述:给你一个下标从 0开始的二进制字符串s,它表示一条街沿途的建筑类型,其中:s[i] = '0'表示第i栋建筑是一栋办公楼,s[i] = '1'表示第i栋建筑是一间餐厅。作为市政厅的官员,你需要随机选择3 栋建筑。然而,为了确保多样性,选出来的 3 栋建筑相邻的两栋不能是同一类型。比方说,给你s = "001101",我们不能选择第1,3和5栋建筑,因为得到的子序列是"011",有相邻两栋建筑是同一类型,所以不合题意。请你返回可以选择 3 栋建筑...原创 2022-04-08 22:30:14 · 439 阅读 · 0 评论 -
2182 构造限制重复的字符串(贪心 + 哈希表)
1. 问题描述:给你一个字符串 s 和一个整数 repeatLimit ,用 s 中的字符构造一个新字符串 repeatLimitedString ,使任何字母连续出现的次数都不超过 repeatLimit 次。你不必使用 s 中的全部字符。返回字典序最大的 repeatLimitedString 。如果在字符串 a 和 b 不同的第一个位置,字符串 a 中的字母在字母表中出现时间比字符串 b 对应的字母晚,则认为字符串 a 比字符串 b 字典序更大 。如果字符串中前 min(a.length,b.le原创 2022-04-04 10:12:24 · 274 阅读 · 0 评论 -
2177 找到和为给定整数的三个连续整数(思维题)
1. 问题描述:给你一个整数num,请你返回三个连续的整数,它们的和为num。如果num无法被表示成三个连续整数的和,请你返回一个空数组。示例 1:输入:num = 33输出:[10,11,12]解释:33 可以表示为 10 + 11 + 12 = 33 。10,11,12 是 3 个连续整数,所以返回 [10,11,12] 。示例 2:输入:num = 4输出:[]解释:没有办法将 4 表示成 3 个连续整数的和。提示:0 <= num <=...原创 2022-04-04 11:00:46 · 587 阅读 · 0 评论 -
2181 合并零之间的节点(模拟)
1. 问题描述:给你一个链表的头节点 head ,该链表包含由 0 分隔开的一连串整数。链表的开端和末尾的节点都满足 Node.val == 0 。对于每两个相邻的 0 ,请你将它们之间的所有节点合并成一个节点,其值是所有已合并节点的值之和。然后将所有 0 移除,修改后的链表不应该含有任何 0 。返回修改后链表的头节点 head 。示例 1:输入:head = [0,3,1,0,4,5,2,0]输出:[4,11]解释:上图表示输入的链表。修改后的链表包含:- 标记为绿色的节点之和:.原创 2022-04-03 21:02:55 · 311 阅读 · 0 评论 -
2188 完成比赛的最少时间(递推)
1. 问题描述:给你一个下标从 0开始的二维整数数组tires,其中tires[i] = [fi,ri]表示第i种轮胎如果连续使用,第x圈需要耗时fi * ri(x - 1)秒。比方说,如果fi = 3且ri = 2,且一直使用这种类型的同一条轮胎,那么该轮胎完成第1圈赛道耗时 3秒,完成第 2圈耗时3 * 2 = 6秒,完成第 3圈耗时3 * 22 = 12秒,依次类推。同时给你一个整数changeTime和一个整数numLaps。比赛总共包含...原创 2022-04-03 18:32:47 · 865 阅读 · 0 评论 -
2187 完成旅途的最少时间(二分)
1. 问题描述:给你一个数组time,其中time[i]表示第 i辆公交车完成一趟旅途所需要花费的时间。每辆公交车可以连续完成多趟旅途,也就是说,一辆公交车当前旅途完成后,可以立马开始下一趟旅途。每辆公交车 独立运行,也就是说可以同时有多辆公交车在运行且互不影响。给你一个整数totalTrips,表示所有公交车总共需要完成的旅途数目。请你返回完成至少totalTrips趟旅途需要花费的最少时间。示例 1:输入:time = [1,2,3],totalTrips = 5输出...原创 2022-03-29 17:33:44 · 451 阅读 · 0 评论 -
2186 使两字符串互为字母异位词的最少步骤数(哈希表)
1. 问题描述:给你两个字符串 s 和 t 。在一步操作中,你可以给 s 或者 t 追加 任一字符 。返回使 s 和 t 互为字母异位词所需的最少步骤数。字母异位词指字母相同但是顺序不同(或者相同)的字符串。示例 1:输入:s = "leetcode",t = "coats"输出:7解释:- 执行 2 步操作,将 "as" 追加到 s = "leetcode" 中,得到 s = "leetcodeas" 。- 执行 5 步操作,将 "leede" 追加到 t = "coats" 中,得.原创 2022-03-29 16:20:39 · 765 阅读 · 0 评论 -
2193 得到回文串的最少操作次数(贪心)
1. 问题描述:给你一个只包含小写英文字母的字符串s。每一次 操作,你可以选择 s中两个相邻的字符,并将它们交换。请你返回将 s变成回文串的最少操作次数。注意,输入数据会确保s一定能变成一个回文串。示例 1:输入:s = "aabb"输出:2解释:我们可以将 s 变成 2 个回文串,"abba" 和 "baab" 。- 我们可以通过 2 次操作得到 "abba" :"aabb" -> "abab" -> "abba" 。- 我们可以通过 2 次操作得到 "...原创 2022-03-29 11:27:18 · 3114 阅读 · 0 评论 -
2192 有向无环图中一个节点的所有祖先(拓扑排序)
1. 问题描述:给你一个正整数n,它表示一个有向无环图中节点的数目,节点编号为0到n - 1(包括两者)。给你一个二维整数数组edges,其中edges[i] = [fromi, toi]表示图中一条从fromi到toi的单向边。请你返回一个数组answer,其中answer[i]是第i个节点的所有祖先,这些祖先节点升序排序。如果 u通过一系列边,能够到达 v,那么我们称节点 u是节点 v的祖先节点。示例 1:输入:n = 8,edgeList...原创 2022-03-26 21:09:14 · 1202 阅读 · 0 评论 -
2191 将杂乱无章的数字排序(哈希表)
1. 问题描述:给你一个下标从 0开始的整数数组mapping,它表示一个十进制数的映射规则,mapping[i] = j表示这个规则下将数位i映射为数位 j。一个整数 映射后的值为将原数字每一个数位 i(0 <= i <= 9)映射为mapping[i]。另外给你一个整数数组nums,请你将数组nums中每个数按照它们映射后对应数字非递减顺序排序后返回。注意:如果两个数字映射后对应的数字大小相同,则将它们按照输入中的相对顺序排序。nums中的元素只...原创 2022-03-26 15:14:06 · 953 阅读 · 0 评论 -
2197 替换数组中的非互质数(栈)
1. 问题描述:给你一个整数数组 nums 。请你对数组执行下述操作:从 nums 中找出任意两个相邻的非互质 。如果不存在这样的数,终止这一过程。否则,删除这两个数,并替换为它们的最小公倍数(Least Common Multiple,LCM)。只要还能找出两个相邻的非互质数就继续重复这一过程。返回修改后得到的最终数组。可以证明的是,以任意序替换相邻的非互质数都可以得到相同的结果。生成的测试用例可以保证最终数组中的值 小于或者等于 108 。两个数字 x 和 y 满足非互质数 的条件是:GC原创 2022-03-26 12:25:37 · 397 阅读 · 0 评论 -
2195 向数组中追加 K 个整数(枚举)
1. 问题描述:给你一个整数数组 nums 和一个整数 k 。请你向 nums 中追加 k 个未出现在 nums 中的、互不相同的正整数,并使结果数组的元素和最小 。返回追加到 nums 中的 k 个整数之和。示例 1:输入:nums = [1,4,25,10,25],k = 2输出:5解释:在该解法中,向数组中追加的两个互不相同且未出现的正整数是 2 和 3 。nums 最终元素和为 1 + 4 + 25 + 10 + 25 + 2 + 3 = 70 ,这是所有情况中的最小值。所以追.原创 2022-03-25 18:05:59 · 956 阅读 · 0 评论 -
2201 统计可以提取的工件(哈希表)
1. 问题描述:存在一个 n x n 大小、下标从 0 开始的网格,网格中埋着一些工件。给你一个整数 n 和一个下标从 0 开始的二维整数数组 artifacts ,artifacts 描述了矩形工件的位置,其中 artifacts[i] = [r1i,c1i, r2i,c2i] 表示第 i 个工件在子网格中的填埋情况:(r1i,c1i) 是第 i 个工件左上单元格的坐标,且(r2i,c2i) 是第 i 个工件右下单元格的坐标。你将会挖掘网格中的一些单元格,并清除其中的填埋物。如果单元格中埋着工件原创 2022-03-25 17:05:47 · 175 阅读 · 0 评论 -
2208 将数组和减半的最少操作次数(堆)
1. 问题描述:给你一个正整数数组nums。每一次操作中,你可以从nums中选择任意一个数并将它减小到恰好一半。(注意,在后续操作中你可以对减半过的数继续执行操作)请你返回将 nums数组和至少减少一半的最少操作数。示例 1:输入:nums = [5,19,8,1]输出:3解释:初始 nums 的和为 5 + 19 + 8 + 1 = 33 。以下是将数组和减少至少一半的一种方法:选择数字 19 并减小为 9.5 。选择数字 9.5 并减小为 4.75 。选择数字 8 并减...原创 2022-03-23 20:36:35 · 328 阅读 · 0 评论 -
2209 用地毯覆盖后的最少白色砖块(递推)
1. 问题描述:给你一个下标从0开始的 二进制字符串floor,它表示地板上砖块的颜色。floor[i] = '0'表示地板上第i块砖块的颜色是黑色。floor[i] = '1'表示地板上第i块砖块的颜色是白色。同时给你numCarpets 和carpetLen。你有numCarpets条黑色的地毯,每一条黑色的地毯长度都为carpetLen块砖块。请你使用这些地毯去覆盖砖块,使得未被覆盖的剩余白色砖块的数目最小。地毯相互之间可以覆盖。请你返回没被覆盖的白...原创 2022-03-23 18:16:59 · 1035 阅读 · 0 评论 -
6030 由单个字符重复的最长子字符串(线段树)
1. 问题描述:给你一个下标从 0 开始的字符串 s 。另给你一个下标从 0 开始、长度为 k 的字符串 queryCharacters ,一个下标从 0 开始、长度也是 k 的整数下标数组queryIndices ,这两个都用来描述 k 个查询。第 i 个查询会将 s 中位于下标 queryIndices[i] 的字符更新为 queryCharacters[i] 。返回一个长度为 k 的数组 lengths ,其中 lengths[i] 是在执行第 i 个查询 之后 s 中仅由单个字符重复组成的最长.原创 2022-03-21 21:41:40 · 1318 阅读 · 0 评论 -
6029 射箭比赛中的最大得分(dfs、零一背包问题求解具体方案)
1. 问题描述:Alice 和 Bob 是一场射箭比赛中的对手。比赛规则如下:Alice 先射 numArrows 支箭,然后 Bob 也射 numArrows 支箭。分数按下述规则计算:箭靶有若干整数计分区域,范围从 0 到 11 (含 0 和 11)。箭靶上每个区域都对应一个得分 k(范围是 0 到 11),Alice 和 Bob 分别在得分 k区域射中ak 和 bk 支箭。如果 ak >= bk ,那么 Alice 得 k 分。如果 ak < bk ,则 Bob 得 k 分..原创 2022-03-20 21:07:48 · 944 阅读 · 0 评论 -
15 三数之和(三指针)
1. 问题描述:给你一个包含 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]输出:[]提示:来源:力扣(LeetCode)链接:http...原创 2022-03-09 23:16:21 · 153 阅读 · 0 评论 -
2183 统计可以被 K 整除的下标对数目(数学、哈希表)
1. 问题描述:给你一个下标从 0 开始、长度为 n 的整数数组 nums 和一个整数 k ,返回满足下述条件的下标对 (i,j) 的数目:0 <= i < j <= n - 1 且nums[i] * nums[j] 能被 k 整除。示例 1:输入:nums = [1,2,3,4,5],k = 2输出:7解释:共有 7 对下标的对应积可以被 2 整除:(0,1)、(0,3)、(1,2)、(1,3)、(1,4)、(2,3) 和 (3,4)它们的积分别是...原创 2022-03-06 22:34:42 · 373 阅读 · 0 评论 -
2180 统计各位数字之和为偶数的整数个数(模拟)
1. 问题描述:给你一个正整数 num ,请你统计并返回小于或等于 num 且各位数字之和为偶数的正整数的数目。正整数的 各位数字之和是其所有位上的对应数字相加的结果。示例 1:输入:num = 4输出:2解释:只有 2 和 4 满足小于等于 4 且各位数字之和为偶数。 示例 2:输入:num = 30输出:14解释:只有 14 个整数满足小于等于 30 且各位数字之和为偶数,分别是:2、4、6、8、11、13、15、17、19、20、22、24、26 和 28 。...原创 2022-02-26 20:55:44 · 691 阅读 · 0 评论 -
2160 拆分数位后四位数字的最小和(暴力 + 全排列)
1. 问题描述:给你一个四位正整数num。请你使用 num中的数位 ,将num拆成两个新的数new1和new2。new1 和new2中可以有前导 0,且num中所有数位都必须使用。比方说,给你num = 2932,你拥有的数位包括:两个2,一个9和一个3。一些可能的[new1, new2]数对为[22, 93],[23, 92],[223, 9] 和[2, 329]。请你返回可以得到的new1和 new2的最小和。示例 1:输入:nu...原创 2022-02-16 17:39:50 · 442 阅读 · 0 评论 -
2166 设计位集(位运算)
1. 问题描述:位集Bitset 是一种能以紧凑形式存储位的数据结构。请你实现 Bitset 类。Bitset(int size) 用 size 个位初始化 Bitset ,所有位都是 0 。void fix(int idx) 将下标为 idx 的位上的值更新为 1 。如果值已经是 1 ,则不会发生任何改变。void unfix(int idx) 将下标为 idx 的位上的值更新为 0 。如果值已经是 0 ,则不会发生任何改变。void flip() 翻转 Bitset 中每一位上的值。换句话原创 2022-02-10 10:16:07 · 344 阅读 · 0 评论 -
2165 重排数字的最小值(模拟)
1. 问题描述:给你一个整数 num 。重排num中的各位数字,使其值最小化且不含任何前导零。返回不含前导零且值最小的重排数字。注意,重排各位数字后,num 的符号不会改变。示例 1:输入:num = 310输出:103解释:310 中各位数字的可行排列有:013、031、103、130、301、310 。不含任何前导零且值最小的重排数字是 103 。示例 2:输入:num = -7605输出:-7650解释:-7605 中各位数字的部分可行排列为:-7650、-6705、-5原创 2022-02-09 17:23:58 · 681 阅读 · 0 评论 -
2164 对奇偶下标分别排序(模拟)
1. 问题描述:给你一个下标从 0 开始的整数数组 nums 。根据下述规则重排 nums 中的值:按非递增顺序排列 nums 奇数下标上的所有值。举个例子,如果排序前 nums = [4,1,2,3] ,对奇数下标的值排序后变为 [4,3,2,1] 。奇数下标 1 和 3 的值按照非递增顺序重排。按非递减顺序排列 nums 偶数下标上的所有值。举个例子,如果排序前 nums = [4,1,2,3] ,对偶数下标的值排序后变为 [2,1,4,3] 。偶数下标 0 和 2 的值按照非递减顺序重排。原创 2022-02-09 16:49:53 · 397 阅读 · 0 评论 -
2115 从给定原材料中找到所有可以做出的菜(拓扑排序)
1. 问题描述:2. 思路分析:3. 代码如下:import collectionsfrom typing import Listclass Solution: def findAllRecipes(self, recipes: List[str], ingredients: List[List[str]], supplies: List[str]) -> List[str]: d = dict() g = collections.原创 2022-01-16 17:24:18 · 607 阅读 · 0 评论 -
90 64位整数乘法(龟速乘)
1. 问题描述:求 a 乘 b 对 p 取模的值。输入格式第一行输入整数a,第二行输入整数b,第三行输入整数p。输出格式输出一个整数,表示a * b mod p的值。数据范围1 ≤ a,b,p ≤ 10 ^ 18输入样例:345输出样例:2来源:https://www.acwing.com/problem/content/description/92/2. 思路分析:因为a和b最大是10 ^ 18, 所以对于c/c++/java等语言直接相乘会溢出(原创 2022-01-05 11:20:20 · 749 阅读 · 0 评论 -
2114 句子中的最多单词数(枚举)
1. 问题描述:一个句子由一些 单词以及它们之间的单个空格组成,句子的开头和结尾不会有多余空格。给你一个字符串数组 sentences ,其中 sentences[i] 表示单个句子 。请你返回单个句子里单词的最多数目 。示例 1:输入:sentences = ["alice and bob love leetcode", "i think so too", "this is great thanks very much"]输出:6解释:- 第一个句子 "alice and bob lov原创 2022-01-04 16:16:16 · 391 阅读 · 0 评论