Leetcode-cn.com 2022-05-14
🔴 691.stickers-to-spell-word
🏷️ Tags
#bit_manipulation #dynamic_programming #backtracking #bitmask
Description
我们有
您想要拼写出给定的字符串
返回你需要拼出
注意:在所有的测试用例中,所有的单词都是从
Example
🔴 691.stickers-to-spell-word
🏷️ Tags
#bit_manipulation #dynamic_programming #backtracking #bitmask
Description
我们有
n 种不同的贴纸。每个贴纸上都有一个小写的英文单词。您想要拼写出给定的字符串
target ,方法是从收集的贴纸中切割单个字母并重新排列它们。如果你愿意,你可以多次使用每个贴纸,每个贴纸的数量是无限的。返回你需要拼出
target 的最小贴纸数量。如果任务不可能,则返回 -1 。注意:在所有的测试用例中,所有的单词都是从
1000 个最常见的美国英语单词中随机选择的,并且 target 被选择为两个随机单词的连接。Example
输入: stickers = ["with","example","science"], target = "thehat"
输出:3
解释:
我们可以使用 2 个 "with" 贴纸,和 1 个 "example" 贴纸。
把贴纸上的字母剪下来并重新排列后,就可以形成目标 “thehat“ 了。
此外,这是形成目标字符串所需的最小贴纸数量。
Leetcode-cn.com 2022-05-22
🟡 464.can-i-win
🏷️ Tags
#bit_manipulation #memoization #math #dynamic_programming #bitmask #game_theory
Description
在 "100 game" 这个游戏中,两名玩家轮流选择从
如果我们将游戏规则改为 “玩家 不能 重复使用整数” 呢?
例如,两个玩家可以轮流从公共整数池中抽取从 1 到 15 的整数(不放回),直到累计整数和 >= 100。
给定两个整数
Example
🟡 464.can-i-win
🏷️ Tags
#bit_manipulation #memoization #math #dynamic_programming #bitmask #game_theory
Description
在 "100 game" 这个游戏中,两名玩家轮流选择从
1 到 10 的任意整数,累计整数和,先使得累计整数和 达到或超过 100 的玩家,即为胜者。如果我们将游戏规则改为 “玩家 不能 重复使用整数” 呢?
例如,两个玩家可以轮流从公共整数池中抽取从 1 到 15 的整数(不放回),直到累计整数和 >= 100。
给定两个整数
maxChoosableInteger (整数池中可选择的最大数)和 desiredTotal(累计和),若先出手的玩家是否能稳赢则返回 true ,否则返回 false 。假设两位玩家游戏时都表现 最佳 。Example
输入:maxChoosableInteger = 10, desiredTotal = 11
输出:false
解释:
无论第一个玩家选择哪个整数,他都会失败。
第一个玩家可以选择从 1 到 10 的整数。
如果第一个玩家选择 1,那么第二个玩家只能选择从 2 到 10 的整数。
第二个玩家可以通过选择整数 10(那么累积和为 11 >= desiredTotal),从而取得胜利.
同样地,第一个玩家选择任意其他整数,第二个玩家都会赢。
Leetcode-cn.com 2022-06-01
🟡 473.matchsticks-to-square
🏷️ Tags
#bit_manipulation #array #dynamic_programming #backtracking #bitmask
Description
你将得到一个整数数组
如果你能使这个正方形,则返回
Example
🟡 473.matchsticks-to-square
🏷️ Tags
#bit_manipulation #array #dynamic_programming #backtracking #bitmask
Description
你将得到一个整数数组
matchsticks ,其中 matchsticks[i] 是第 i 个火柴棒的长度。你要用 所有的火柴棍 拼成一个正方形。你 不能折断 任何一根火柴棒,但你可以把它们连在一起,而且每根火柴棒必须 使用一次 。如果你能使这个正方形,则返回
true ,否则返回 false 。Example
输入: matchsticks = [1,1,2,2,2]
输出: true
解释: 能拼成一个边长为2的正方形,每边两根火柴。
698.partition-to-k-equal-sum-subsets.pdf
68.6 KB
leetcode.cn 2022-09-20
🟡698.partition-to-k-equal-sum-subsets
🏷️ Tags
#bit_manipulation #memoization #array #dynamic_programming #backtracking #bitmask
🟡698.partition-to-k-equal-sum-subsets
🏷️ Tags
#bit_manipulation #memoization #array #dynamic_programming #backtracking #bitmask
805.split-array-with-same-average.pdf
75.3 KB
leetcode.cn 2022-11-14
🔴805.split-array-with-same-average
🏷️ Tags
#bit_manipulation #array #math #dynamic_programming #bitmask
🔴805.split-array-with-same-average
🏷️ Tags
#bit_manipulation #array #math #dynamic_programming #bitmask
1799.maximize-score-after-n-operations.pdf
74.8 KB
leetcode.cn 2022-12-22
🔴1799.maximize-score-after-n-operations
🏷️ Tags
#bit_manipulation #array #math #dynamic_programming #backtracking #bitmask #number_theory
🔴1799.maximize-score-after-n-operations
🏷️ Tags
#bit_manipulation #array #math #dynamic_programming #backtracking #bitmask #number_theory
1815.maximum-number-of-groups-getting-fresh-donuts.pdf
76.9 KB
leetcode.cn 2023-01-22
🔴1815.maximum-number-of-groups-getting-fresh-donuts
🏷️ Tags
#bit_manipulation #memoization #array #dynamic_programming #bitmask
🔴1815.maximum-number-of-groups-getting-fresh-donuts
🏷️ Tags
#bit_manipulation #memoization #array #dynamic_programming #bitmask
1255.maximum-score-words-formed-by-letters.pdf
86 KB
leetcode.cn 2023-02-26
🔴1255.maximum-score-words-formed-by-letters
🏷️ Tags
#bit_manipulation #array #string #dynamic_programming #backtracking #bitmask
🔴1255.maximum-score-words-formed-by-letters
🏷️ Tags
#bit_manipulation #array #string #dynamic_programming #backtracking #bitmask
1617.count-subtrees-with-max-distance-between-cities.pdf
94.4 KB
leetcode.cn 2023-03-12
🔴1617.count-subtrees-with-max-distance-between-cities
🏷️ Tags
#bit_manipulation #tree #dynamic_programming #bitmask #enumeration
🔴1617.count-subtrees-with-max-distance-between-cities
🏷️ Tags
#bit_manipulation #tree #dynamic_programming #bitmask #enumeration
1125.smallest-sufficient-team.pdf
87.4 KB
leetcode.cn 2023-04-08
🔴1125.smallest-sufficient-team
🏷️ Tags
#bit_manipulation #array #dynamic_programming #bitmask
🔴1125.smallest-sufficient-team
🏷️ Tags
#bit_manipulation #array #dynamic_programming #bitmask
leetcode.com 2023-05-14
🔴1799.maximize-score-after-n-operations
🏷️ Tags
#bit_manipulation #array #math #dynamic_programming #backtracking #bitmask #number_theory
🔴1799.maximize-score-after-n-operations
🏷️ Tags
#bit_manipulation #array #math #dynamic_programming #backtracking #bitmask #number_theory
Telegraph
maximize-score-after-n-operations
You are given nums, an array of positive integers of size 2 * n. You must perform n operations on this array. In the ith operation (1-indexed), you will:
leetcode.cn 2023-06-16
🔴1494.parallel-courses-ii
🏷️ Tags
#bit_manipulation #graph #dynamic_programming #bitmask
🔴1494.parallel-courses-ii
🏷️ Tags
#bit_manipulation #graph #dynamic_programming #bitmask
Telegraph
parallel-courses-ii
给你一个整数 n 表示某所大学里课程的数目,编号为 1 到 n ,数组 relations 中, relations[i] = [xi, yi] 表示一个先修课的关系,也就是课程 xi 必须在课程 yi 之前上。同时你还有一个整数 k 。 在一个学期中,你 最多 可以同时上 k 门课,前提是这些课的先修课在之前的学期里已经上过了。 请你返回上完所有课最少需要多少个学期。题目保证一定存在一种上完所有课的方式。 示例 1: 输入:n = 4, relations = [[2,1],[3,1],[1,4]]…
leetcode.cn 2023-06-20
🔴1595.minimum-cost-to-connect-two-groups-of-points
🏷️ Tags
#bit_manipulation #array #dynamic_programming #bitmask #matrix
🔴1595.minimum-cost-to-connect-two-groups-of-points
🏷️ Tags
#bit_manipulation #array #dynamic_programming #bitmask #matrix
Telegraph
minimum-cost-to-connect-two-groups-of-points
给你两组点,其中第一组中有 size1 个点,第二组中有 size2 个点,且 size1 >= size2 。 任意两点间的连接成本 cost 由大小为 size1 x size2 矩阵给出,其中 cost[i][j] 是第一组中的点 i 和第二组中的点 j 的连接成本。如果两个组中的每个点都与另一组中的一个或多个点连接,则称这两组点是连通的。换言之,第一组中的每个点必须至少与第二组中的一个点连接,且第二组中的每个点必须至少与第一组中的一个点连接。 返回连通两组点所需的最小成本。 示例 1: 输入:cost…
leetcode.cn 2023-06-24
🔴1659.maximize-grid-happiness
🏷️ Tags
#bit_manipulation #memoization #dynamic_programming #bitmask
🔴1659.maximize-grid-happiness
🏷️ Tags
#bit_manipulation #memoization #dynamic_programming #bitmask
Telegraph
maximize-grid-happiness
给你四个整数 m、n、introvertsCount 和 extrovertsCount 。有一个 m x n 网格,和两种类型的人:内向的人和外向的人。总共有 introvertsCount 个内向的人和 extrovertsCount 个外向的人。 请你决定网格中应当居住多少人,并为每个人分配一个网格单元。 注意,不必 让所有人都生活在网格中。 每个人的 幸福感 计算如下:
leetcode.cn 2023-06-28
🔴1681.minimum-incompatibility
🏷️ Tags
#bit_manipulation #array #dynamic_programming #bitmask
🔴1681.minimum-incompatibility
🏷️ Tags
#bit_manipulation #array #dynamic_programming #bitmask
Telegraph
minimum-incompatibility
给你一个整数数组 nums 和一个整数 k 。你需要将这个数组划分到 k 个相同大小的子集中,使得同一个子集里面没有两个相同的元素。 一个子集的 不兼容性 是该子集里面最大值和最小值的差。 请你返回将数组分成 k 个子集后,各子集 不兼容性 的 和 的 最小值 ,如果无法分成分成 k 个子集,返回 -1 。 子集的定义是数组中一些数字的集合,对数字顺序没有要求。 示例 1: 输入:nums = [1,2,1,4], k = 2 输出:4 解释:最优的分配是 [1,2] 和 [1,4] 。 不兼容性和为…