leetcode刷题
lievech
这个作者很懒,什么都没留下…
展开
-
【LeetCode每日一题】1190. 反转每对括号间的子串
【LeetCode每日一题】1190. 反转每对括号间的子串题目示例 1示例 2示例 3示例 4题解题目给出一个字符串 s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中 不应 包含任何括号。示例 1输入:s = "(abcd)"输出:"dcba"示例 2输入:s = "(u(love)i)"输出:"iloveu"示例 3输入:s = "(ed(et(oc))el)"输出:"leetcode"示例原创 2021-05-26 22:01:17 · 121 阅读 · 0 评论 -
【LeetCode每日一题】810. 黑板异或游戏
【LeetCode每日一题】810. 黑板异或游戏题目示例题解题目黑板上写着一个非负整数数组 nums[i] 。Alice 和 Bob 轮流从黑板上擦掉一个数字,Alice 先手。如果擦除一个数字后,剩余的所有数字按位异或运算得出的结果等于 0 的话,当前玩家游戏失败。 (另外,如果只剩一个数字,按位异或运算得到它本身;如果无数字剩余,按位异或运算结果为 0。)换种说法就是,轮到某个玩家时,如果当前黑板上所有数字按位异或运算结果等于 0,这个玩家获胜。假设两个玩家每步都使用最优解,当且仅当 Alic转载 2021-05-26 21:57:16 · 83 阅读 · 0 评论 -
【LeetCode】1707. 与数组中元素的最大异或值
【LeetCode每日一题】1707. 与数组中元素的最大异或值题目示例 1示例 2题解题目给你一个由非负整数组成的数组 nums 。另有一个查询数组 queries ,其中 queries[i] = [xi, mi] 。第 i 个查询的答案是 xi 和任何 nums 数组中不超过 mi 的元素按位异或(XOR)得到的最大值。换句话说,答案是 max(nums[j] XOR xi) ,其中所有 j 均满足 nums[j] <= mi 。如果 nums 中的所有元素都大于 mi,最终答案就是 -转载 2021-05-25 21:56:20 · 136 阅读 · 0 评论 -
【LeetCode每日一题】664. 奇怪的打印机
【LeetCode每日一题】664. 奇怪的打印机题目示例1示例2题解题目有台奇怪的打印机有以下两个特殊要求:打印机每次只能打印由 同一个字符 组成的序列。每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。示例1输入:s = "aaabbb"输出:2解释:首先打印 "aaa" 然后打印 "bbb"。示例2输入:s = "aba"输出:2解释:首先打印 "aaa" 然后在第二个位置打印 "b"原创 2021-05-25 21:51:56 · 117 阅读 · 0 评论 -
【LeetCode】1787. 使所有区间的异或结果为零
【LeetCode每日一题】1787. 使所有区间的异或结果为零题解第一种情况第二种情况题解第一种情况采用贪心的方法求得最优解。因为修改后的元素可能是原序列中没有出现过的元素。如果修改的某一列的元素是原序列中没有出现过的元素,那么这种情况下一定可以用贪心的办法求出最优解,做法是将众数最小的一列中的每个数变成一个全新的,该列中没有出现的,使得每个周期内的元素的异或和为0的数。第二种情况采用dp的方法求得最优解在这种情况下,由于没有最终修改后的元素是原数组中存在的数,因此可以从前往后枚举每一列,原创 2021-05-25 21:44:19 · 154 阅读 · 0 评论 -
【LeetCode每日一题】363. 矩形区域不超过 K 的最大数值和
【LeetCode每日一题】363. 矩形区域不超过 K 的最大数值和题目题解题目给你一个 m x n 的矩阵 matrix 和一个整数 k ,找出并返回矩阵内部矩形区域的不超过 k 的最大数值和。题目数据保证总会存在一个数值和不超过 k 的矩形区域。题解前缀和暴力class Solution {public: int sum[101][101]; int maxSumSubmatrix(vector<vector<int>>& matri原创 2021-05-18 16:52:20 · 125 阅读 · 0 评论 -
【LeetCode每日一题】368. 最大整除子集
【LeetCode每日一题】368. 最大整除子集题目示例 1示例 2题解题目你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:answer[i] % answer[j] == 0 , 或 answer[j] % answer[i] = 0 如果存在多个有效解子集,返回其中任何一个均可。示例 1输入:nums = [1,2,3]输出:[1,2]解释:[1,3] 也会被视原创 2021-05-18 16:48:12 · 103 阅读 · 0 评论 -
【LeetCode每日一题】377. 组合总和 Ⅳ
【LeetCode每日一题】377. 组合总和 Ⅳ题目示例1题解题目给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例1输入:nums = [1,2,3], target = 4输出:7解释:所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不原创 2021-05-13 09:56:10 · 157 阅读 · 0 评论 -
【LeetCode每日一题】897. 递增顺序搜索树
【LeetCode每日一题】897. 递增顺序搜索树题目示例1题解题目给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。示例1输入:root = [5,3,6,2,4,null,8,1,null,null,null,7,9]输出:[1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9]题解保存前一个结点即可,采用中序遍历。/**原创 2021-05-13 09:49:29 · 91 阅读 · 0 评论 -
【LeetCode每日一题】1011. 在 D 天内送达包裹的能力
【LeetCode每日一题】1011. 在 D 天内送达包裹的能力题目示例 1示例 2题解题目今日题目与410. 分割数组的最大值是一样的题目,只不过今日题目包装了一层。传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。示例 1输入:weights = [1,2,3,4,5,6,转载 2021-05-13 09:44:28 · 82 阅读 · 0 评论 -
【LeetCode每日一题】938. 二叉搜索树的范围和
【LeetCode每日一题】938. 二叉搜索树的范围和题目示例1题解题目给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。示例1输入:root = [10,5,15,3,7,null,18], low = 7, high = 15输出:32题解1.递归class Solution {public: int rangeSumBST(TreeNode* root, int low, int high) { if (!r原创 2021-05-13 09:38:11 · 67 阅读 · 0 评论 -
【LeetCode每日一题】633. 平方数之和
【LeetCode每日一题】633. 平方数之和题目示例 1示例 2题解题目给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。示例 1输入:c = 5输出:true解释:1 * 1 + 2 * 2 = 5示例 2输入:c = 3输出:false题解1.预处理+查询class Solution {public: typedef unsigned long long ULL; bool judgeSquareSum(int原创 2021-05-13 09:29:28 · 80 阅读 · 0 评论 -
【LeetCode每日一题】403. 青蛙过河
【LeetCode每日一题】403. 青蛙过河题目示例 1题解题目一只青蛙想要过河。假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。青蛙可以跳上石子,但是不可以跳入水中。给你石子的位置列表 stones(用单元格序号 升序 表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一块石子上)。开始时, 青蛙默认已站在第一块石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格 1 跳至单元格 2 )。如果青蛙上一步跳跃了 k 个单位,那么它接下来的跳跃原创 2021-05-13 09:14:32 · 304 阅读 · 0 评论 -
【LeetCode每日一题】137. 只出现一次的数字 II
【LeetCode每日一题】137. 只出现一次的数字 II题目示例1示例2题解题目给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。示例1输入:nums = [2,2,3,2]输出:3示例2输入:nums = [0,1,0,1,0,1,99]输出:99题解//哈希表class Solution {public: int singleNumber(vector<int>& nu原创 2021-05-13 08:40:37 · 81 阅读 · 0 评论 -
【LeetCode每日一题】 1720. 解码异或后的数组
【LeetCode每日一题】 1720. 解码异或后的数组1720. 解码异或后的数组554. 砖墙7. 整数反转740. 删除并获得点数1720. 解码异或后的数组取数组的最后一个元素进行异或即可。class Solution {public: vector<int> decode(vector<int>& encoded, int first) { vector<int> res {first}; for (au原创 2021-05-12 21:10:15 · 135 阅读 · 0 评论 -
【LeetCode每日一题】1723. 完成所有工作的最短时间
【LeetCode每日一题】1723. 完成所有工作的最短时间[1] 1723. 完成所有工作的最短时间[2] 473. 火柴拼正方形[1] 1723. 完成所有工作的最短时间1.题目:给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间。请你将这些工作分配给 k 位工人。所有工作都应该分配给工人,且每项工作只能分配给一位工人。工人的 工作时间 是完成分配给他们的所有工作花费时间的总和。请你设计一套最佳的工作分配方案,使工人的 最大工作时间 得以 最小化 。返回分转载 2021-05-11 19:56:15 · 291 阅读 · 0 评论 -
【LeetCode每日一题】1482. 制作 m 束花所需的最少天数
【LeetCode每日一题】1482. 制作 m 束花所需的最少天数相关题目1482. 制作 m 束花所需的最少天数1011. 在 D 天内送达包裹的能力相关题目1482.制作 m 束花所需的最少天数1011.在 D 天内送达包裹的能力1482. 制作 m 束花所需的最少天数1.题目:给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,转载 2021-05-11 15:47:29 · 77 阅读 · 0 评论 -
【LeetCode每日一题】938. 二叉搜索树的范围和
【LeetCode每日一题】938. 二叉搜索树的范围和题目示例 1示例 2题解题目请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。举个例子,如上图所示,给定一棵叶值序列为 (6, 7, 4, 9, 8) 的树。如果有两棵二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。如果给定的两个根结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false 。示例 1输入:root1 = [3,5,1,6,2,9,8,null原创 2021-05-11 14:14:58 · 99 阅读 · 0 评论 -
【LeetCode每日一题】1734. 解码异或后的排列
【LeetCode每日一题】1734. 解码异或后的排列题目示例 1题解题目相似题目:1720. 解码异或后的数组这道题是给定first,球perm,而今天这道题目是有一个前置条件,那就是n个正整数的排列,这个条件比较重要,因为可以确定地是perm数据是1~n范围地有序数,尽管有可能乱序,具体看后面题解。给你一个整数数组 perm ,它是前 n 个正整数的排列,且 n 是个 奇数 。它被加密成另一个长度为 n - 1 的整数数组 encoded ,满足 encoded[i] = perm[i]原创 2021-05-11 11:39:32 · 76 阅读 · 0 评论 -
leetcode26:删除排序数组中的重复项
leetcode26:删除排序数组中的重复项题目描述第一种解题思路第二种解决思路:第三种解决思路:题目描述第一种解题思路因为数组是已经排好序的有序数组,所以后面的元素一定是大于等于前面的数字的,所以我们只需要判断后一个数字是否与前一个数字相等,如果相等就让后一个继续向后,直到不等于当前数为止,如果不相等就让前面的下标向后移动一位赋值,最后的长度就是前面下标+1/* * LeetCode, Remove Duplicates from Sorted Array * 时间复杂度O(n),空间复原创 2020-12-15 10:23:35 · 170 阅读 · 3 评论