2
results
for 状态压缩
给你一个整数数组
nums
。如果nums
的一个子集中,所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为 好子集 。- 比方说,如果
nums = [1, 2, 3, 4]
:[2, 3]
,[1, 2, 3]
和[1, 3]
是 好 子集,乘积分别为6 = 2*3
,6 = 2*3
和3 = 3
。[1, 4]
和[4]
不是 好 子集,因为乘积分别为4 = 2*2
和4 = 2*2
。
请你返回
nums
中不同的 好 子集的数目对109 + 7
取余 的结果。nums
中的 子集 是通过删除nums
中一些(可能一个都不删除,也可能全部都删除)元素后剩余元素组成的数组。如果两个子集删除的下标不同,那么它们被视为不同的子集。- 比方说,如果
给你一个下标从 0 开始的字符串数组
words
。每个字符串都只包含 小写英文字母 。words
中任意一个子串中,每个字母都至多只出现一次。如果通过以下操作之一,我们可以从
s1
的字母集合得到s2
的字母集合,那么我们称这两个字符串为 关联的 :- 往
s1
的字母集合中添加一个字母。 - 从
s1
的字母集合中删去一个字母。 - 将
s1
中的一个字母替换成另外任意一个字母(也可以替换为这个字母本身)。
数组
words
可以分为一个或者多个无交集的 组 。一个字符串与一个组如果满足以下 任一 条件,它就属于这个组:- 它与组内 至少 一个其他字符串关联。
- 它是这个组中 唯一 的字符串。
注意,你需要确保分好组后,一个组内的任一字符串与其他组的字符串都不关联。可以证明在这个条件下,分组方案是唯一的。
请你返回一个长度为
2
的数组ans
:ans[0]
是words
分组后的 总组数 。ans[1]
是字符串数目最多的组所包含的字符串数目。
- 往