LC 1253. 重构 2 行二进制矩阵 题目描述这是 LeetCode 上的 1253. 重构 2 行二进制矩阵 ,难度为 中等。 给你一个 2 行 n 列的二进制数组: 矩阵是一个二进制矩阵,这意味着矩阵中的每个元素不是 0 就是 1。 第 0 行的元素之和为 upper。 第 1 行的元素之和为 lower。 第 i 列(从 0 开始编号)的元素之和为 colsum[i],colsum 是一个长度为 n 的整数数组。 你需要利用 2023-07-18 模拟 贪心 构造
LC 2335. 装满杯子需要的最短总时长 题目描述这是 LeetCode 上的 2335. 装满杯子需要的最短总时长 ,难度为 简单。 现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。 给你一个下标从 0 开始、长度为 3 的整数数组 amount,其中 amount[0]、amount[1] 和 amount[2] 分别表示需要装满冷水、温水和热水的杯子数量。 返回装满所有杯子 2023-07-18 模拟 贪心 数学 排序 递归
LC 2305. 公平分发饼干 题目描述这是 LeetCode 上的 2305. 公平分发饼干 ,难度为 中等。 给你一个整数数组 cookies,其中 cookies[i] 表示在第 i 个零食包中的饼干数量。另给你一个整数 k 表示等待分发零食包的孩子数量,所有零食包都需要分发。 在同一个零食包中的所有饼干都必须分发给同一个孩子,不能分开。 分发的不公平程度定义为单个孩子在分发过程中能够获得饼干的最大总数。 返回所有分发的最 2023-07-18 位运算 状压 DP
LC 943. 最短超级串 题目描述这是 LeetCode 上的 943. 最短超级串 ,难度为 困难。 给定一个字符串数组 words,找到以 words 中每个字符串作为子字符串的最短字符串。如果有多个有效最短字符串满足题目条件,返回其中 任意一个 即可。 我们可以假设 words 中没有字符串是 words 中另一个字符串的子字符串。 示例 1:12345输入:words = ["alex",&qu 2023-07-17 位运算 状压 DP
LC 1041. 困于环中的机器人 题目描述这是 LeetCode 上的 1041. 困于环中的机器人 ,难度为 中等。 在无限的平面上,机器人最初位于 $(0, 0)$ 处,面朝北方。注意: 北方向 是 y 轴的正方向。 南方向 是 y 轴的负方向。 东方向 是 x 轴的正方向。 西方向 是 x 轴的负方向。 机器人可以接受下列三条指令之一: "G":直走 $1$ 个单位 "L":左转 2023-07-17 模拟 脑筋急转弯
LC 985. 查询后的偶数和 题目描述这是 LeetCode 上的 985. 查询后的偶数和 ,难度为 中等。 给出一个整数数组 A 和一个查询数组 queries。 对于第 i 次查询,有 val = queries[i][0], index = queries[i][1],我们会把 val 加到 A[index] 上。然后,第 i 次查询的答案是 A 中偶数值的和。 (此处给定的 index = queries[i][1] 2023-07-17 模拟
LC 1222. 可以攻击国王的皇后 题目描述这是 LeetCode 上的 1222. 可以攻击国王的皇后 ,难度为 中等。 在一个 8x8 的棋盘上,放置着若干「黑皇后」和一个「白国王」。 给定一个由整数坐标组成的数组 queens,表示黑皇后的位置;以及一对坐标 king,表示白国王的位置,返回所有可以攻击国王的皇后的坐标(任意顺序)。 示例 1: 1234567891011输入:queens = [[0,1],[1,0],[4 2023-07-17 模拟 BFS
LC 950. 按递增顺序显示卡牌 题目描述这是 LeetCode 上的 950. 按递增顺序显示卡牌 ,难度为 中等。 牌组中的每张卡牌都对应有一个唯一的整数。你可以按你想要的顺序对这套卡片进行排序。 最初,这些卡牌在牌组里是正面朝下的(即,未显示状态)。 现在,重复执行以下步骤,直到显示所有卡牌为止: 从牌组顶部抽一张牌,显示它,然后将其从牌组中移出。 如果牌组中仍有牌,则将下一张处于牌组顶部的牌放在牌组的底部。 如果仍有未显 2023-07-17 模拟 队列 排序 构造
LC 1760. 袋子里最少数目的球 题目描述这是 LeetCode 上的 1760. 袋子里最少数目的球 ,难度为 中等。 给你一个整数数组 nums,其中 nums[i] 表示第 i 个袋子里球的数目。同时给你一个整数 maxOperations。 你可以进行如下操作至多 maxOperations 次: 选择任意一个袋子,并将袋子里的球分到 2 个新的袋子中,每个袋子里都有 正整数 个球。 比方说,一个袋子里有 5 个球,你可 2023-06-21 二分
LC 1797. 设计一个验证系统 题目描述这是 LeetCode 上的 1797. 设计一个验证系统 ,难度为 中等。 你需要设计一个包含验证码的验证系统。每一次验证中,用户会收到一个新的验证码,这个验证码在 currentTime 时刻之后 timeToLive 秒过期。如果验证码被更新了,那么它会在 currentTime (可能与之前的 currentTime 不同)时刻延长 timeToLive 秒。 请你实现 Authe 2023-02-14 哈希表 链表
LC 1210. 穿过迷宫的最少移动次数 题目描述这是 LeetCode 上的 1210. 穿过迷宫的最少移动次数 ,难度为 困难。 你还记得那条风靡全球的贪吃蛇吗? 我们在一个 n*n 的网格上构建了新的迷宫地图,蛇的长度为 2,也就是说它会占去两个单元格。蛇会从左上角((0, 0) 和 (0, 1))开始移动。我们用 0 表示空单元格,用 1 表示障碍物。蛇需要移动到迷宫的右下角((n-1, n-2) 和 (n-1, n-1))。 每 2023-02-09 BFS
LC 1233. 删除子文件夹 题目描述这是 LeetCode 上的 1233. 删除子文件夹 ,难度为 中等。 你是一位系统管理员,手里有一份文件夹列表 folder,你的任务是要删除该列表中的所有 子文件夹,并以 任意顺序 返回剩下的文件夹。 如果文件夹 folder[i] 位于另一个文件夹 folder[j] 下,那么 folder[i] 就是 folder[j] 的 子文件夹 。 文件夹的「路径」是由一个或多个按以下格式 2023-02-09 字典树
LC 1129. 颜色交替的最短路径 题目描述这是 LeetCode 上的 1129. 颜色交替的最短路径 ,难度为 中等。 在一个有向图中,节点分别标记为 0, 1, ..., n-1。图中每条边为红色或者蓝色,且存在自环或平行边。 red_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的红色有向边。类似地,blue_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的蓝色有向边。 返回长度为 2023-02-06 BFS 最短路
LC 1798. 你能构造出连续值的最大数目 题目描述这是 LeetCode 上的 1798. 你能构造出连续值的最大数目 ,难度为 中等。 给你一个长度为 n 的整数数组 coins,它代表你拥有的 n 个硬币。第 i 个硬币的值为 coins[i]。如果你从这些硬币中选出一部分硬币,它们的和为 x ,那么称,你可以构造出 x 。 请返回从 0 开始(包括 0 ),你最多能构造出多少个连续整数。 你可能有多个相同值的硬币。 示例 1:123 2023-02-06 数学 排序 构造 脑筋急转弯
LC 1669. 合并两个链表 题目描述这是 LeetCode 上的 1669. 合并两个链表 ,难度为 中等。 给你两个链表 list1 和 list2,它们包含的元素分别为 n 个和 m 个。 请你将 list1 中下标从 a 到 b 的全部节点都删除,并将 list2 接在被删除节点的位置。 下图中蓝色边和节点展示了操作后的结果: 请你返回结果链表的头指针。 示例 1: 12345输入:list1 = [0,1,2,3, 2023-02-03 模拟 链表