自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(248)
  • 收藏
  • 关注

原创 leetcode1658.将x见到0的最小操作数

题目大意解题思路分析题意,实际上是从数组的左半部分和右半部分分别取出一部分,两部分的和为x即可,找到最短的组合.将nums从左累加,得到leftacc,将nums从右累加,得到rightacc. 两个指针left指向leftacc的左端点,right指向rightacc的左端点.若leftacc[left]+rightacc[right] == x:表示符合条件,记录一下;若< x:表示需要加大当前数组,只能让left移动一位;若>x:表示需要减小当前数组,只能让right移动一位

2021-01-23 14:10:47 438 1

原创 leetcode316.去除重复字母

题目大意给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。解题思路首先记录每个元素出现的最后位置。然后创建一个栈和一个集合。若当前字符已经在集合中出现过了,则跳过该字符;反之,如果栈顶元素大于当前字符,且栈顶元素的最后出现位置在当前位置之后,表明可以将当前的栈顶元素舍弃掉(因为后面还有一个,并且可以使字典序更小),则弹出栈顶元素,并从集合中删除该元素;将当前元素压入栈中,并在集合中记录;class Sol

2020-11-23 19:45:11 298

原创 leetcode1642.可以到达的最远建筑

题目大意给你一个整数数组 heights ,表示建筑物的高度。另有一些砖块 bricks 和梯子 ladders 。你从建筑物 0 开始旅程,不断向后面的建筑物移动,期间可能会用到砖块或梯子。当从建筑物 i 移动到建筑物 i+1(下标 从 0 开始 )时:如果当前建筑物的高度 大于或等于 下一建筑物的高度,则不需要梯子或砖块如果当前建筑的高度 小于 下一个建筑的高度,您可以使用 一架梯子 或 (h[i+1] - h[i]) 个砖块如果以最佳方式使用给定的梯子和砖块,返回你可以到达的最远建筑物的下

2020-11-16 21:37:08 379 1

原创 leetcode1637.两点之间不包含任何点的最宽垂直面积

题目大意给你 n 个二维平面上的点 points ,其中 points[i] = [xi, yi] ,请你返回两点之间内部不包含任何点的 最宽垂直面积 的宽度。垂直面积 的定义是固定宽度,而 y 轴上无限延伸的一块区域(也就是高度为无穷大)。 最宽垂直面积 为宽度最大的一个垂直面积。请注意,垂直区域 边上 的点 不在 区域内。解题思路这题说白了就是排个序,看一下两点之间横坐标的最大差值。。。。class Solution{public: int maxWidthOfVerticalAr

2020-11-16 21:17:35 119

原创 leetcode1630.等差子数组

题目大意如果一个数列由至少两个元素组成,且每两个连续元素之间的差值都相同,那么这个序列就是 等差数列 。更正式地,数列 s 是等差数列,只需要满足:对于每个有效的 i , s[i+1] - s[i] == s[1] - s[0] 都成立。例如,下面这些都是 等差数列 :1, 3, 5, 7, 97, 7, 7, 73, -1, -5, -9下面的数列 不是等差数列 :1, 1, 2, 5, 7给你一个由 n 个整数组成的数组 nums,和两个由 m 个整数组成的数组 l 和 r,后两个数组表

2020-11-16 21:07:38 134

原创 leetcode1626. 无矛盾的最佳球队

题目大意假设你是球队的经理。对于即将到来的锦标赛,你想组合一支总体得分最高的球队。球队的得分是球队中所有球员的分数 总和 。然而,球队中的矛盾会限制球员的发挥,所以必须选出一支 没有矛盾 的球队。如果一名年龄较小球员的分数 严格大于 一名年龄较大的球员,则存在矛盾。同龄球员之间不会发生矛盾。给你两个列表 scores 和 ages,其中每组 scores[i] 和 ages[i] 表示第 i 名球员的分数和年龄。请你返回 所有可能的无矛盾球队中得分最高那支的分数 。输入:scores = [1,3,

2020-11-16 21:02:30 213

原创 leetcode1605.给定行和列的和求可行矩阵

题目大意给你两个非负整数数组 rowSum 和 colSum ,其中 rowSum[i] 是二维矩阵中第 i 行元素的和, colSum[j] 是第 j 列元素的和。换言之你不知道矩阵里的每个元素,但是你知道每一行和每一列的和。请找到大小为 rowSum.length x colSum.length 的任意 非负整数 矩阵,且该矩阵满足 rowSum 和 colSum 的要求。请你返回任意一个满足题目要求的二维矩阵,题目保证存在 至少一个 可行矩阵。输入:rowSum = [3,8], colSum

2020-11-10 21:11:44 257

原创 leetcode1604.警告一小时内使用相同员工卡大于等于三次的人

题目大意力扣公司的员工都使用员工卡来开办公室的门。每当一个员工使用一次他的员工卡,安保系统会记录下员工的名字和使用时间。如果一个员工在一小时时间内使用员工卡的次数大于等于三次,这个系统会自动发布一个 警告 。给你字符串数组 keyName 和 keyTime ,其中 [keyName[i], keyTime[i]] 对应一个人的名字和他在 某一天 内使用员工卡的时间。使用时间的格式是 24小时制 ,形如 “HH:MM” ,比方说 “23:51” 和 “09:49” 。请你返回去重后的收到系统警告的员

2020-11-10 20:58:27 359

原创 leetcode1599.经营摩天轮的最大利润

题目大意你正在经营一座摩天轮,该摩天轮共有 4 个座舱 ,每个座舱 最多可以容纳 4 位游客 。你可以 逆时针 轮转座舱,但每次轮转都需要支付一定的运行成本 runningCost 。摩天轮每次轮转都恰好转动 1 / 4 周。给你一个长度为 n 的数组 customers , customers[i] 是在第 i 次轮转(下标从 0 开始)之前到达的新游客的数量。这也意味着你必须在新游客到来前轮转 i 次。每位游客在登上离地面最近的座舱前都会支付登舱成本 boardingCost ,一旦该座舱再次抵达地

2020-11-07 11:44:27 248

原创 leetcode1594.矩阵的最大非负积

题目大意给你一个大小为 rows x cols 的矩阵 grid 。最初,你位于左上角 (0, 0) ,每一步,你可以在矩阵中 向右 或 向下 移动。在从左上角 (0, 0) 开始到右下角 (rows - 1, cols - 1) 结束的所有路径中,找出具有 最大非负积 的路径。路径的积是沿路径访问的单元格中所有整数的乘积。返回 最大非负积 对 109 + 7 取余 的结果。如果最大积为负数,则返回 -1 。注意,取余是在得到最大积之后执行的。解题思路方法一:直接暴力求解。。。class So

2020-11-07 11:12:18 151

原创 leetcode1593.拆分字符串使唯一子字符串的数目最大

题目大意给你一个字符串 s ,请你拆分该字符串,并返回拆分后唯一子字符串的最大数目。字符串 s 拆分后可以得到若干 非空子字符串 ,这些子字符串连接后应当能够还原为原字符串。但是拆分出来的每个子字符串都必须是 唯一的 。注意:子字符串 是字符串中的一个连续字符序列。输入:s = "ababccc"输出:5解释:一种最大拆分方法为 ['a', 'b', 'ab', 'c', 'cc'] 。像 ['a', 'b', 'a', 'b', 'c', 'cc'] 这样拆分不满足题目要求,因为其中的 'a'

2020-11-07 10:21:22 174

原创 leetcode1589. 所有排列中的最大和

题目大意有一个整数数组 nums ,和一个查询数组 requests ,其中 requests[i] = [starti, endi] 。第 i 个查询求 nums[starti] + nums[starti + 1] + … + nums[endi - 1] + nums[endi] 的结果 ,starti 和 endi 数组索引都是 从 0 开始 的。你可以任意排列 nums 中的数字,请你返回所有查询结果之和的最大值。由于答案可能会很大,请你将它对 109 + 7 取余 后返回。输入:nums

2020-11-07 10:08:21 303

原创 leetcode1578.避免重复字母的最小删除成本

题目大意给你一个字符串 s 和一个整数数组 cost ,其中 cost[i] 是从 s 中删除字符 i 的代价。返回使字符串任意相邻两个字母不相同的最小删除成本。请注意,删除一个字符后,删除其他字符的成本不会改变。输入:s = "abaac", cost = [1,2,3,4,5]输出:3解释:删除字母 "a" 的成本为 3,然后得到 "abac"(字符串中相邻两个字母不相同)。输入:s = "abc", cost = [1,2,3]输出:0解释:无需删除任何字母,因为字符串中不存在相邻

2020-11-03 21:25:15 796

原创 leetcode1574.删除最短的子数组使剩余数组有序

题目大意给你一个整数数组 arr ,请你删除一个子数组(可以为空),使得 arr 中剩下的元素是 非递减 的。一个子数组指的是原数组中连续的一个子序列。请你返回满足题目要求的最短子数组的长度。输入:arr = [1,2,3,10,4,2,3,5]输出:3解释:我们需要删除的最短子数组是 [10,4,2] ,长度为 3 。剩余元素形成非递减数组 [1,2,3,3,5] 。另一个正确的解为删除子数组 [3,10,4] 。输入:arr = [5,4,3,2,1]输出:4解释:由于数组是严格递

2020-11-03 21:19:51 1023

原创 leetcode1573.分割字符串的方案数

题目大意给你一个二进制串 s (一个只包含 0 和 1 的字符串),我们可以将 s 分割成 3 个 非空 字符串 s1, s2, s3 (s1 + s2 + s3 = s)。请你返回分割 s 的方案数,满足 s1,s2 和 s3 中字符 ‘1’ 的数目相同。由于答案可能很大,请将它对 10^9 + 7 取余后返回。输入:s = "10101"输出:4解释:总共有 4 种方法将 s 分割成含有 '1' 数目相同的三个子字符串。"1|010|1""1|01|01""10|10|1""10|

2020-11-02 21:03:47 461

原创 leetcode1562.查找大小为M的最新分组

题目大意给你一个数组 arr ,该数组表示一个从 1 到 n 的数字排列。有一个长度为 n 的二进制字符串,该字符串上的所有位最初都设置为 0 。在从 1 到 n 的每个步骤 i 中(假设二进制字符串和 arr 都是从 1 开始索引的情况下),二进制字符串上位于位置 arr[i] 的位将会设为 1 。给你一个整数 m ,请你找出二进制字符串上存在长度为 m 的一组 1 的最后步骤。一组 1 是一个连续的、由 1 组成的子串,且左右两边不再有可以延伸的 1 。返回存在长度 恰好 为 m 的 一组 1

2020-10-30 22:06:03 183

原创 leetcode1561.你可以获得的最大硬币数目

题目大意有 3n 堆数目不一的硬币,你和你的朋友们打算按以下方式分硬币:每一轮中,你将会选出 任意 3 堆硬币(不一定连续)。Alice 将会取走硬币数量最多的那一堆。你将会取走硬币数量第二多的那一堆。Bob 将会取走最后一堆。重复这个过程,直到没有更多硬币。给你一个整数数组 piles ,其中 piles[i] 是第 i 堆中硬币的数目。返回你可以获得的最大硬币数目。输入:piles = [2,4,1,2,7,8]输出:9解释:选出 (2, 7, 8) ,Alice 取走 8 枚

2020-10-30 21:46:33 176

原创 leetcode1558.得到目标数组的最少函数调用次数

题目大意给你一个与 nums 大小相同且初始值全为 0 的数组 arr ,请你调用以上函数得到整数数组 nums 。请你返回将 arr 变成 nums 的最少函数调用次数。答案保证在 32 位有符号整数以内。输入:nums = [1,5]输出:5解释:给第二个数加 1 :[0, 0] 变成 [0, 1] (1 次操作)。将所有数字乘以 2 :[0, 1] -> [0, 2] -> [0, 4] (2 次操作)。给两个数字都加 1 :[0, 4] -> [1, 4] -&g

2020-10-29 21:24:29 193

原创 leetcode1557.可以到达所有点的最少点数目

题目大意给你一个 有向无环图 , n 个节点编号为 0 到 n-1 ,以及一个边数组 edges ,其中 edges[i] = [fromi, toi] 表示一条从点 fromi 到点 toi 的有向边。找到最小的点集使得从这些点出发能到达图中所有点。题目保证解存在且唯一。你可以以任意顺序返回这些节点编号。输入:n = 6, edges = [[0,1],[0,2],[2,5],[3,4],[4,2]]输出:[0,3]解释:从单个节点出发无法到达所有节点。从 0 出发我们可以到达 [0,1,

2020-10-28 21:48:49 360

原创 leetcode1552.两球之间的磁力

题目大意在代号为 C-137 的地球上,Rick 发现如果他将两个球放在他新发明的篮子里,它们之间会形成特殊形式的磁力。Rick 有 n 个空的篮子,第 i 个篮子的位置在 position[i] ,Morty 想把 m 个球放到这些篮子里,使得任意两球间 最小磁力 最大。已知两个球如果分别位于 x 和 y ,那么它们之间的磁力为 |x - y| 。给你一个整数数组 position 和一个整数 m ,请你返回最大化的最小磁力。输入:position = [1,2,3,4,7], m = 3输出:

2020-10-27 21:10:35 216

原创 leetcode1488避免洪水泛滥

题目大意你的国家有无数个湖泊,所有湖泊一开始都是空的。当第 n 个湖泊下雨的时候,如果第 n 个湖泊是空的,那么它就会装满水,否则这个湖泊会发生洪水。你的目标是避免任意一个湖泊发生洪水。给你一个整数数组 rains ,其中:rains[i] > 0 表示第 i 天时,第 rains[i] 个湖泊会下雨。rains[i] == 0 表示第 i 天没有湖泊会下雨,你可以选择 一个 湖泊并 抽干 这个湖泊的水。请返回一个数组 ans ,满足:ans.length == rains.leng

2020-09-10 21:59:05 435

原创 leetcode1482.制作m束花所需的最少天数

题目大意:给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作m束花。制作花束时,需要使用花园中 相邻的 k 朵花 。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。示例 1:输入:bloomDay = [1,10,3,10,2], m = 3, k = 1输出:3解释:让我们一起观察这三天的花开过程,x 表示花开,而 _ 表示花还未

2020-09-08 21:34:28 151

原创 leetcode967.连续差相同的数字

题目大意返回所有长度为 N 且满足其每两个连续位上的数字之间的差的绝对值为 K 的非负整数。请注意,除了数字 0 本身之外,答案中的每个数字都不能有前导零。例如,01 因为有一个前导零,所以是无效的;但 0 是有效的。你可以按任何顺序返回答案。示例 1:输入:N = 3, K = 7输出:[181,292,707,818,929]解释:注意,070 不是一个有效的数字,因为它有前导零。示例 2:输入:N = 2, K = 1输出:[10,12,21,23,32,34,43,45,54,

2020-06-29 10:39:20 285

原创 leetcode935. 骑士拨号器

题目大意国际象棋中的骑士可以按下图所示进行移动:这一次,我们将 “骑士” 放在电话拨号盘的任意数字键(如上图所示)上,接下来,骑士将会跳 N-1 步。每一步必须是从一个数字键跳到另一个数字键。每当它落在一个键上(包括骑士的初始位置),都会拨出键所对应的数字,总共按下 N 位数字。你能用这种方式拨出多少个不同的号码?因为答案可能很大,所以输出答案模 10^9 + 7。示例:输入:2输出:20解题思路首先写递归,当N=1时,只有一种答案,即当前数字;否则,我可以从当前数字按规则跳到下一

2020-06-29 09:54:24 171

原创 leetcode931.下降路径最小和

题目大意给定一个方形整数数组 A,我们想要得到通过 A 的下降路径的最小和。下降路径可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列。示例:输入:[[1,2,3],[4,5,6],[7,8,9]]输出:12解释:可能的下降路径有:[1,4,7], [1,4,8], [1,5,7], [1,5,8], [1,5,9][2,4,7], [2,4,8], [2,5,7], [2,5,8], [2,5,9], [2,6,8], [2,6,9

2020-06-29 09:06:08 241

原创 leetcode898.子数组按位或操作

题目大意我们有一个非负整数数组 A。对于每个(连续的)子数组 B = [A[i], A[i+1], …, A[j]] ( i <= j),我们对 B 中的每个元素进行按位或操作,获得结果 A[i] | A[i+1] | … | A[j]。返回可能结果的数量。 (多次出现的结果在最终答案中仅计算一次。)示例 1:输入:[0]输出:1解释:只有一个可能的结果 0 。示例 2:输入:[1,1,2]输出:3解释:可能的子数组为 [1],[1],[2],[1, 1],[1, 2],[

2020-06-27 11:09:55 244

原创 leetcode877.石子游戏

题目大意亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。亚历克斯和李轮流进行,亚历克斯先开始。 每回合,玩家从行的开始或结束处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中石子最多的玩家获胜。假设亚历克斯和李都发挥出最佳水平,当亚历克斯赢得比赛时返回 true ,当李赢得比赛时返回 false 。示例:输入:[5,3,4,5]输出:true解释:亚历克斯先开始,

2020-06-27 10:35:21 502

原创 leetcode873.最长的斐波那契子序列的长度

题目大意如果序列 X_1, X_2, …, X_n 满足下列条件,就说它是 斐波那契式 的:n >= 3对于所有 i + 2 <= n,都有 X_i + X_{i+1} = X_{i+2}给定一个严格递增的正整数数组形成序列,找到 A 中最长的斐波那契式的子序列的长度。如果一个不存在,返回 0 。(回想一下,子序列是从原序列 A 中派生出来的,它从 A 中删掉任意数量的元素(也可以不删),而不改变其余元素的顺序。例如, [3, 5, 8] 是 [3, 4, 5, 6, 7, 8]

2020-06-27 09:32:56 252 1

原创 leetcode838.推多米诺

题目大意一行中有 N 张多米诺骨牌,我们将每张多米诺骨牌垂直竖立。在开始时,我们同时把一些多米诺骨牌向左或向右推。每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌。同样地,倒向右边的多米诺骨牌也会推动竖立在其右侧的相邻多米诺骨牌。如果同时有多米诺骨牌落在一张垂直竖立的多米诺骨牌的两边,由于受力平衡, 该骨牌仍然保持不变。就这个问题而言,我们会认为正在下降的多米诺骨牌不会对其它正在下降或已经下降的多米诺骨牌施加额外的力。给定表示初始状态的字符串 “S” 。如果第 i 张多米诺骨牌被推

2020-06-24 16:22:43 169

原创 leetcode813.最大平均值和的分组

题目大意我们将给定的数组 A 分成 K 个相邻的非空子数组 ,我们的分数由每个子数组内的平均值的总和构成。计算我们所能得到的最大分数是多少。注意我们必须使用 A 数组中的每一个数进行分组,并且分数不一定需要是整数。示例:输入: A = [9,1,2,3,9]K = 3输出: 20解释: A 的最优分组是[9], [1, 2, 3], [9]. 得到的分数是 9 + (1 + 2 + 3) / 3 + 9 = 20.我们也可以把 A 分成[9, 1], [2], [3, 9].这样的分组

2020-06-24 11:40:50 335

原创 leetcode801.使序列递增的最小交换次数

题目大意我们有两个长度相等且不为空的整型数组 A 和 B 。我们可以交换 A[i] 和 B[i] 的元素。注意这两个元素在各自的序列中应该处于相同的位置。在交换过一些元素之后,数组 A 和 B 都应该是严格递增的(数组严格递增的条件仅为A[0] < A[1] < A[2] < … < A[A.length - 1])。给定数组 A 和 B ,请返回使得两个数组均保持严格递增状态的最小交换次数。假设给定的输入总是有效的。示例:输入: A = [1,3,5,4], B = [

2020-06-24 11:07:52 251

原创 leetcode790.多米诺和托米诺平铺

题目大意有两种形状的瓷砖:一种是 2x1 的多米诺形,另一种是形如 “L” 的托米诺形。两种形状都可以旋转。XX <- 多米诺XX <- "L" 托米诺X给定 N 的值,有多少种方法可以平铺 2 x N 的面板?返回值 mod 10^9 + 7。(平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同,当且仅当面板上有四个方向上的相邻单元中的两个,使得恰好有一个平铺有一个瓷砖占据两个正方形。)示例:输入: 3输出: 5解释: 下面列出了五种不同的方法,不同字母代表不同瓷

2020-06-24 10:16:13 410

原创 leetcode787.K站中转内最便宜的航班

题目大意有 n 个城市通过 m 个航班连接。每个航班都从城市 u 开始,以价格 w 抵达 v。现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到从 src 到 dst 最多经过 k 站中转的最便宜的价格。 如果没有这样的路线,则输出 -1。示例 1:输入: n = 3, edges = [[0,1,100],[1,2,100],[0,2,500]]src = 0, dst = 2, k = 1输出: 200解释: 城市航班图如下从城市 0 到城市 2 在

2020-06-23 15:18:16 405

原创 leetcode740.删除与获得点数

题目大意给定一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除每个等于 nums[i] - 1 或 nums[i] + 1 的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例 1:输入: nums = [3, 4, 2]输出: 6解释: 删除 4 来获得 4 个点数,因此 3 也被删除。之后,删除 2 来获得 2 个点数。总共获得 6 个点数。示例 2:输入: nu

2020-06-23 09:56:41 154

原创 leetcode718.最长重复子数组

题目大意给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例 1:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出: 3解释: 长度最长的公共子数组是 [3, 2, 1]。说明:1 <= len(A), len(B) <= 10000 <= A[i], B[i] < 100解题思路动态规划。dp[i][j]记录以A中第i个元素结尾,B中第j个元素结尾的最长重复组数组长度(注意:这个子数组必须是A[i],b[j

2020-06-23 09:29:30 264

原创 leetcode714.买卖股票的最佳时机含手续费

题目大意给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。示例 1:输入: prices = [1, 3, 2, 8, 4, 9], fee = 2输出: 8解释: 能够达到的最大利润: 在此

2020-06-22 10:51:17 134

原创 leetcode698.划分为k个相等的子集

题目大意给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。示例 1:输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4输出: True说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。提示:1 <= k <= len(nums) <= 160 < nums[i] < 10000解题思路先判断能否被K整除。然后判断商是否大于数组最大

2020-06-22 10:36:45 242

原创 leetcode688.马在棋盘上的概率

题目大意已知一个 NxN 的国际象棋棋盘,棋盘的行号和列号都是从 0 开始。即最左上角的格子记为 (0, 0),最右下角的记为 (N-1, N-1)。现有一个 “马”(也译作 “骑士”)位于 (r, c) ,并打算进行 K 次移动。如下图所示,国际象棋的 “马” 每一步先沿水平或垂直方向移动 2 个格子,然后向与之相垂直的方向再移动 1 个格子,共有 8 个可选的位置。现在 “马” 每一步都从可选的位置(包括棋盘外部的)中独立随机地选择一个进行移动,直到移动了 K 次或跳到了棋盘外面。求移动结束

2020-06-22 09:39:31 352

原创 目标检测中面试时的基本代码

计算IOUdef intersection(boxA, boxB): ''' boxA: [A, 4] boxB: [B, 4] ''' lt = np.maximum(boxA[:, np.newaxis, :2], boxB[np.newaxis, :, :2]) rb = np.minimum(boxA[:, np.newaxis, 2:], boxB[np.newaxis, :, 2:]) inter = np.clip(rb - lt,

2020-06-20 16:32:28 425

原创 leetcode673. 最长递增子序列的个数

题目大意给定一个未排序的整数数组,找到最长递增子序列的个数。示例 1:输入: [1,3,5,4,7]输出: 2解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。示例 2:输入: [2,2,2,2,2]输出: 5解释: 最长递增子序列的长度是1,并且存在5个子序列的长度为1,因此输出5。解题思路创建两个数组dp和count,分别记录以j位置结尾的最长递增子序列的长度和个数。对于位置i(i>j),如果nums[i] > nums[j

2020-06-19 16:35:52 142 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除