![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode练习
德林恩宝
计算机科学与技术专业研究生,研究方向为计算机视觉[E-mail:baolliu@foxmail.com]
展开
-
leetcode 19. 删除链表的倒数第 N 个结点(c++)
leetcode 19. 删除链表的倒数第 N 个结点常规解法:双指针与栈,两种解法。原创 2023-05-06 21:00:43 · 143 阅读 · 1 评论 -
leetcode 241. 为运算表达式设计优先级(c++)
leetcode 241. 为运算表达式设计优先级 题解原创 2023-05-04 19:26:54 · 166 阅读 · 0 评论 -
leetcode 5. 最长回文子串(c++)
【题解】leetdoe 5. 最长回文子串(c++)原创 2023-05-02 18:06:14 · 212 阅读 · 0 评论 -
Leetcode 119. 杨辉三角 II 简单题 C++
动态规划的简单运用原创 2021-12-27 11:16:57 · 586 阅读 · 0 评论 -
leetcode 118. 杨辉三角 简单题 C++
动态规划的简单运用原创 2021-12-27 11:05:28 · 124 阅读 · 0 评论 -
leetcode 5387. 每个人戴不同帽子的方案数(New Solution)
总共有 n 个人和 40 种不同的帽子,帽子编号从 1 到 40 。给你一个整数列表的列表 hats ,其中 hats[i] 是第 i 个人所有喜欢帽子的列表。请你给每个人安排一顶他喜欢的帽子,确保每个人戴的帽子跟别人都不一样,并返回方案数。由于答案可能很大,请返回它对 10^9 + 7 取余后的结果。示例 1:输入:hats = [[3,4],[4,5],[5]]输出:1解释:给定...原创 2020-05-03 12:30:03 · 457 阅读 · 0 评论 -
leetcode 576. 出界的路径数
给定一个 m × n 的网格和一个球。球的起始坐标为 (i,j) ,你可以将球移到相邻的单元格内,或者往上、下、左、右四个方向上移动使球穿过网格边界。但是,你最多可以移动 N 次。找出可以将球移出边界的路径数量。答案可能非常大,返回 结果 mod 109 + 7 的值。示例 1:输入: m = 2, n = 2, N = 2, i = 0, j = 0输出: 6解释:示例 2:输入:...原创 2020-04-30 18:42:10 · 273 阅读 · 0 评论 -
leetcode 32. 最长有效括号
给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”题目来源:力扣(LeetCode)题目链接:https://leetcode-cn.com/problems/longest-valid-p...原创 2020-04-28 15:29:15 · 148 阅读 · 0 评论 -
leetcode 39. 组合总和(dfs简单路过)
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7], target = 7,所求解集为:[[7]...原创 2020-04-27 19:03:10 · 207 阅读 · 0 评论 -
leetcode 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。题目来源:力扣(LeetCode)题目链接:...原创 2020-04-27 18:09:00 · 190 阅读 · 0 评论 -
leetcode 5180. 带限制的子序列和(说简单,但是就是弄不清楚,唉)
给你一个整数数组 nums 和一个整数 k ,请你返回 非空 子序列元素和的最大值,子序列需要满足:子序列中每两个 相邻 的整数 nums[i] 和 nums[j] ,它们在原数组中的下标 i 和 j 满足 i < j 且 j - i <= k 。数组的子序列定义为:将数组中的若干个数字删除(可以删除 0 个数字),剩下的数字按照原本的顺序排布。示例 1:输入:nums = [1...原创 2020-04-26 18:17:52 · 615 阅读 · 0 评论 -
leetcode 376. 摆动序列(三种解法)
如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差...原创 2020-04-25 21:48:34 · 777 阅读 · 0 评论 -
leetcode 面试题51. 数组中的逆序对(超时ing)
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof...原创 2020-04-24 15:20:16 · 327 阅读 · 0 评论 -
leetcode 357. 计算各个位数不同的数字个数(排列组合与动态规划)
给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n 。示例:输入: 2输出: 91解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外,在 [0,100) 区间内的所有数字。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-numbers-with-un...原创 2020-04-24 09:43:20 · 349 阅读 · 0 评论 -
leetcode 343. 整数拆分
给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。来源:力扣(LeetCode)链接:https://leetcode-cn.com/prob...原创 2020-04-23 19:08:41 · 292 阅读 · 0 评论 -
leetcode 37. 解数独(再也不怕不会解数独了)
编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。空白格用 ‘.’ 表示。一个数独。答案被标成红色。Note:给定的数独序列只包含数字 1-9 和字符 ‘.’ 。你可以假设给定的数独只有唯一解。给定数独永远是 9...原创 2020-04-23 17:37:30 · 272 阅读 · 0 评论 -
leetcode 980. 不同路径 III(图解)
在二维网格 grid 上,有 4 种类型的方格:1 表示起始方格。且只有一个起始方格。2 表示结束方格,且只有一个结束方格。0 表示我们可以走过的空方格。-1 表示我们无法跨越的障碍。返回在四个方向(上、下、左、右)上行走时,从起始方格到结束方格的不同路径的数目,每一个无障碍方格都要通过一次。示例 1:输入:[[1,0,0,0],[0,0,0,0],[0,0,2,-1]]输出:2...原创 2020-04-23 15:15:06 · 350 阅读 · 0 评论 -
leetcode 1049. 最后一块石头的重量 II,压碎了我的心!♥
有一堆石头,每块石头的重量都是正整数。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就返回...原创 2020-04-22 23:35:42 · 315 阅读 · 0 评论 -
leetcode309. 最佳买卖股票时机含冷冻期
给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,3,0,2]输出: 3解释: 对应的交易状态为: [买入, 卖出, 冷冻...原创 2020-04-22 08:18:17 · 192 阅读 · 0 评论 -
leetcode 466. 统计重复个数(成功率0.1‱)
由 n 个连接的字符串 s 组成字符串 S,记作 S = [s,n]。例如,[“abc”,3]=“abcabcabc”。如果我们可以从 s2 中删除某些字符使其变为 s1,则称字符串 s1 可以从字符串 s2 获得。例如,根据定义,“abc” 可以从 “abdbec” 获得,但不能从 “acbbe” 获得。现在给你两个非空字符串 s1 和 s2(每个最多 100 个字符长)和两个整数 0 ≤ ...转载 2020-04-20 00:31:39 · 262 阅读 · 1 评论 -
leetcode 887. 鸡蛋掉落(1‱)
你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <= X &l...原创 2020-04-19 14:58:28 · 221 阅读 · 0 评论 -
leetcode11. 盛最多水的容器(⭐)
给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色...原创 2020-04-18 21:01:59 · 144 阅读 · 0 评论 -
leetcode 218. 天际线问题(⭐)
城市的天际线是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。现在,假设您获得了城市风光照片(图A)上显示的所有建筑物的位置和高度,请编写一个程序以输出由这些建筑物形成的天际线(图B)。每个建筑物的几何信息用三元组 [Li,Ri,Hi] 表示,其中 Li 和 Ri 分别是第 i 座建筑物左右边缘的 x 坐标,Hi 是其高度。可以保证 0 ≤ Li, Ri ≤ INT_MAX, 0 <...原创 2020-04-17 23:16:39 · 319 阅读 · 0 评论 -
leetcode 55. 跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达...原创 2020-04-17 16:44:42 · 212 阅读 · 0 评论 -
leetcode 335. 路径交叉
题目来源:力扣(LeetCode)题目链接:https://leetcode-cn.com/problems/self-crossing题目著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路分析可存在一下三种相交的情形:代码解析class Solution {public: //east,south,west,north; bool is...原创 2020-04-17 10:38:02 · 272 阅读 · 0 评论 -
leetcode 406. 根据身高重建队列
假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]输出:[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]题...原创 2020-04-16 17:48:01 · 191 阅读 · 0 评论 -
leetcode 403. 青蛙过河
一只青蛙想要过河。 假定河流被等分为 x 个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有)。 青蛙可以跳上石头,但是不可以跳入水中。给定石子的位置列表(用单元格序号升序表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一个石子上)。 开始时, 青蛙默认已站在第一个石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格1跳至单元格2)。如果青蛙上一步跳跃了 k 个单位...原创 2020-04-15 21:24:53 · 268 阅读 · 0 评论 -
leetcode LCP 4. 覆盖
你有一块棋盘,棋盘上有一些格子已经坏掉了。你还有无穷块大小为1 * 2的多米诺骨牌,你想把这些骨牌不重叠地覆盖在完好的格子上,请找出你最多能在棋盘上放多少块骨牌?这些骨牌可以横着或者竖着放。输入:n, m代表棋盘的大小;broken是一个b * 2的二维数组,其中每个元素代表棋盘上每一个坏掉的格子的位置。输出:一个整数,代表最多能在棋盘上放的骨牌数。示例 1:输入:n = 2, m = 3...原创 2020-04-14 22:49:02 · 633 阅读 · 0 评论 -
leetcode264. 丑数 II
编写一个程序,找出第 n 个丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1 是丑数。n 不超过1690。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ugly-number-ii...原创 2020-04-13 16:23:11 · 175 阅读 · 0 评论 -
leetcode 279. 完全平方数
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.题目来源:力扣(LeetCode)题目链接:https://leetcode-cn.com/pro...原创 2020-04-13 14:57:49 · 308 阅读 · 0 评论 -
leetcode 5383. 给 N x 3 网格图涂色的方案数
leetcode 5383. 给 N x 3 网格图涂色的方案数来源:力扣(LeetCode)你有一个 n x 3 的网格图 grid ,你需要用 红,黄,绿 三种颜色之一给每一个格子上色,且确保相邻格子颜色不同(也就是有相同水平边或者垂直边的格子颜色不同)。给你网格图的行数 n 。请你返回给 grid 涂色的方案数。由于答案可能会非常大,请你返回答案对 10^9 + 7 取余的结果。...原创 2020-04-12 16:55:03 · 1735 阅读 · 7 评论 -
leetcode 1410. HTML 实体解析器
leetcode 1410. HTML 实体解析器来源:力扣(LeetCode)「HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。HTML 里这些特殊字符和它们对应的字符实体包括:双引号:字符实体为 " ,对应的字符是 " 。单引号:字符实体为 ’ ,对应的字符是 ’ 。与符号:字符实体为 & ,对应对的字符...原创 2020-04-12 16:31:55 · 255 阅读 · 0 评论 -
leetcode 5381. 查询带键的排列
leetcode 5381. 查询带键的排列来源:力扣(LeetCode)给你一个待查数组 queries ,数组中的元素为 1 到 m 之间的正整数。 请你根据以下规则处理所有待查项 queries[i](从 i=0 到 i=queries.length-1):一开始,排列 P=[1,2,3,…,m]。对于当前的 i ,请你找出待查项 queries[i] 在排列 P 中的位置(下标从...原创 2020-04-12 16:26:54 · 197 阅读 · 0 评论 -
leetcode 5380. 数组中的字符串匹配
链接:leetcode 5380. 数组中的字符串匹配来源:力扣(LeetCode)给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 word[i] ,那么字符串 words[i] 就是 words[j] 的一个子字符串。示例 ...原创 2020-04-12 16:23:53 · 353 阅读 · 0 评论 -
leetcode 1406. 石子游戏 III
题目链接:1406. 石子游戏 IIIAlice 和 Bob 用几堆石子在做游戏。几堆石子排成一行,每堆石子都对应一个得分,由数组 stoneValue 给出。Alice 和 Bob 轮流取石子,Alice 总是先开始。在每个玩家的回合中,该玩家可以拿走剩下石子中的的前 1、2 或 3 堆石子 。比赛一直持续到所有石头都被拿走。每个玩家的最终得分为他所拿到的每堆石子的对应得分之和。每个玩家的...原创 2020-04-10 16:50:52 · 403 阅读 · 0 评论 -
leetcode 1405. 最长快乐字符串
1405. 最长快乐字符串如果字符串中不含有任何 ‘aaa’,‘bbb’ 或 ‘ccc’ 这样的字符串作为子串,那么该字符串就是一个「快乐字符串」。给你三个整数 a,b ,c,请你返回 任意一个 满足下列全部条件的字符串 s:s 是一个尽可能长的快乐字符串。s 中 最多 有a 个字母 ‘a’、b 个字母 ‘b’、c 个字母 ‘c’ 。s 中只含有 ‘a’、‘b’ 、‘c’ 三种字母。如...原创 2020-04-10 00:50:58 · 324 阅读 · 0 评论 -
leetcode 1404. 将二进制表示减到 1 的步骤数
leetcode 1404. 将二进制表示减到 1 的步骤数给你一个以二进制形式表示的数字 s 。请你返回按下述规则将其减少到 1 所需要的步骤数:如果当前数字为偶数,则将其除以 2 。如果当前数字为奇数,则将其加上 1 。题目保证你总是可以按上述规则将测试用例变为 1 。示例 1:输入:s = “1101”输出:6解释:“1101” 表示十进制数 13 。Step 1) 13 ...原创 2020-04-09 21:29:06 · 218 阅读 · 0 评论 -
leetcode 1403. 非递增顺序的最小子序列 简单易懂哦
非递增顺序的最小子序列给你一个数组 nums,请你从中抽取一个子序列,满足该子序列的元素之和 严格 大于未包含在该子序列中的各元素之和。如果存在多个解决方案,只需返回 长度最小 的子序列。如果仍然有多个解决方案,则返回 元素之和最大 的子序列。与子数组不同的地方在于,「数组的子序列」不强调元素在原数组中的连续性,也就是说,它可以通过从数组中分离一些(也可能不分离)元素得到。注意,题目数据保...原创 2020-04-09 19:00:51 · 274 阅读 · 0 评论