Leetcode 状态压缩复习与总结
文章平均质量分 61
对状态压缩复习与总结
XY_xyz_xyz
这个作者很懒,什么都没留下…
展开
-
Leetcode周赛280_数组的最大与和
给你一个长度为n的整数数组nums和一个整数numSlots,满足2 * numSlots >= n。总共有numSlots个篮子,编号为1到numSlots。你需要把所有n个整数分到这些篮子中,且每个篮子 至多有 2 个整数。一种分配方案的 与和定义为每个数与它所在篮子编号的 按位与运算结果之和。比方说,将数字[1, 3]放入篮子1中,[4, 6] 放入篮子2中,这个方案的与和为(1 AND 1) + (3 AND 1) + (4 AND 2...原创 2022-02-14 10:13:18 · 7725 阅读 · 0 评论 -
LeetCode 1755. 最接近目标值的子序列和
给你一个整数数组 nums 和一个目标值 goal 。你需要从 nums 中选出一个子序列,使子序列元素总和最接近 goal 。也就是说,如果子序列元素和为 sum ,你需要 最小化绝对差 abs(sum - goal) 。返回 abs(sum - goal) 可能的 最小值 。注意,数组的子序列是通过移除原始数组中的某些元素(可能全部或无)而形成的数组。示例 1:输入:nums = [5,-7,3,5], goal = 6输出:0解释:选择整个数组作为选出的子序列,元素和为 6原创 2021-12-11 13:59:50 · 565 阅读 · 0 评论 -
LeetCode 473. 火柴拼正方形
还记得童话《卖火柴的小女孩》吗?现在,你知道小女孩有多少根火柴,请找出一种能使用所有火柴拼成一个正方形的方法。不能折断火柴,可以把火柴连接起来,并且每根火柴都要用到。输入为小女孩拥有火柴的数目,每根火柴用其长度表示。输出即为是否能用所有的火柴拼成正方形。示例 1:输入: [1,1,2,2,2]输出: true解释: 能拼成一个边长为2的正方形,每边两根火柴。示例2:输入: [3,3,3,3,4]输出: false解释: 不能用所有火柴拼成一个正方形。注意:给定的火柴长度.原创 2022-01-03 11:16:01 · 236 阅读 · 0 评论 -
LeetCode 1349. 参加考试的最大学生数
给你一个m* n的矩阵 seats表示教室中的座位分布。如果座位是坏的(不可用),就用'#'表示;否则,用'.'表示。学生可以看到左侧、右侧、左上、右上这四个方向上紧邻他的学生的答卷,但是看不到直接坐在他前面或者后面的学生的答卷。请你计算并返回该考场可以容纳的一起参加考试且无法作弊的最大学生人数。学生必须坐在状况良好的座位上。示例 1:输入:seats = [["#",".","#","#",".","#"], [".","#","#","...原创 2021-12-01 19:59:54 · 1783 阅读 · 0 评论 -
LeetCode 1799. N 次操作后的最大分数和
给你nums,它是一个大小为2 * n的正整数数组。你必须对这个数组执行 n次操作。在第i次操作时(操作编号从 1开始),你需要:选择两个元素x 和y。获得分数i * gcd(x, y)。将x和y 从nums中删除。请你返回 n次操作后你能获得的分数和最大为多少。函数gcd(x, y)是x 和y的最大公约数。示例 1:输入:nums = [1,2]输出:1解释:最优操作是:(1 * gcd(1, 2)) = 1示例 2:...原创 2021-11-30 11:30:25 · 1392 阅读 · 0 评论 -
LeetCode 2002. 两个回文子序列长度的最大乘积
给你一个字符串s,请你找到s中两个不相交回文子序列,使得它们长度的乘积最大。两个子序列在原字符串中如果没有任何相同下标的字符,则它们是不相交的。请你返回两个回文子序列长度可以达到的最大乘积。子序列指的是从原字符串中删除若干个字符(可以一个也不删除)后,剩余字符不改变顺序而得到的结果。如果一个字符串从前往后读和从后往前读一模一样,那么这个字符串是一个 回文字符串。示例 1:输入:s = "leetcodecom"输出:9解释:最优方案是选择 "ete" ...原创 2021-12-20 15:33:25 · 165 阅读 · 0 评论 -
Leetcode 1947. 最大兼容性评分和
有一份由 n 个问题组成的调查问卷,每个问题的答案要么是 0(no,否),要么是 1(yes,是)。这份调查问卷被分发给 m 名学生和 m 名导师,学生和导师的编号都是从 0 到 m - 1 。学生的答案用一个二维整数数组 students 表示,其中 students[i] 是一个整数数组,包含第 i 名学生对调查问卷给出的答案(下标从 0 开始)。导师的答案用一个二维整数数组 mentors 表示,其中 mentors[j] 是一个整数数组,包含第 j 名导师对调查问卷给出的答案(下标从 0 开始)原创 2021-12-18 10:46:50 · 167 阅读 · 0 评论 -
Leetcode 847. 访问所有节点的最短路径
存在一个由 n 个节点组成的无向连通图,图中的节点按从 0 到 n - 1 编号。给你一个数组 graph 表示这个图。其中,graph[i] 是一个列表,由所有与节点 i 直接相连的节点组成。返回能够访问所有节点的最短路径的长度。你可以在任一节点开始和停止,也可以多次重访节点,并且可以重用边。示例 1:输入:graph = [[1,2,3],[0],[0],[0]]输出:4解释:一种可能的路径为 [1,0,2,0,3]示例 2:输入:graph = [[1],[0,.原创 2021-12-13 11:30:35 · 515 阅读 · 0 评论 -
LeetCode 1255. 得分最高的单词集合
你将会得到一份单词表words,一个字母表letters(可能会有重复字母),以及每个字母对应的得分情况表score。请你帮忙计算玩家在单词拼写游戏中所能获得的「最高得分」:能够由letters里的字母拼写出的任意属于 words单词子集中,分数最高的单词集合的得分。单词拼写游戏的规则概述如下:玩家需要用字母表letters 里的字母来拼写单词表words中的单词。可以只使用字母表letters 中的部分字母,但是每个字母最多被使用一次。单词表 words中每个单...原创 2021-12-16 19:43:06 · 131 阅读 · 0 评论 -
LeetCode 526. 优美的排列
假设有从 1 到 n 的 n 个整数。用这些整数构造一个数组 perm(下标从 1 开始),只要满足下述条件 之一 ,该数组就是一个 优美的排列 :perm[i] 能够被 i 整除i 能够被 perm[i] 整除给你一个整数 n ,返回可以构造的 优美排列 的 数量 。示例 1:输入:n = 2输出:2解释:第 1 个优美的排列是 [1,2]: - perm[1] = 1 能被 i = 1 整除 - perm[2] = 2 能被 i = 2 整除第 2 个优美的排...原创 2021-12-16 11:05:02 · 527 阅读 · 0 评论