题目要求:
给定两个非空数组 a 和 b,要求找出满足以下规则最大匹配数的交集:
匹配规则:每个匹配满足 a 中某个子集的和等于 b 中的某个元素,且满足:
每个 a 的元素最多参与一个匹配(无论是单独使用还是作为子集的一部分)
每个 b 的元素最多被匹配一次
匹配类型:
单元素匹配:若存在 a[i] = b[j]
组合匹配:若存在 a[i1] + a[i2] + ... = b[j](允许任意长度的子集组合)
目标:
找到能同时满足上述规则最大匹配数量的交集,即尽可能多地建立 a 与 b 元素之间的一一映射关系
示例说明(可选):
若 a = [1,2,3],b = [3,4]
最优解为 2 个匹配:
a[0]+a[1] = 3 → 匹配 b[0]
a[2] = 3 → 匹配 b[0] ❌(冲突,因为 b[0] 已被使用)
实际正确匹配:a[0]+a[1] = 3(匹配 b[0])和 a[2] 无法匹配 b[1]
给定两个非空数组 a 和 b,要求找出满足以下规则最大匹配数的交集:
匹配规则:每个匹配满足 a 中某个子集的和等于 b 中的某个元素,且满足:
每个 a 的元素最多参与一个匹配(无论是单独使用还是作为子集的一部分)
每个 b 的元素最多被匹配一次
匹配类型:
单元素匹配:若存在 a[i] = b[j]
组合匹配:若存在 a[i1] + a[i2] + ... = b[j](允许任意长度的子集组合)
目标:
找到能同时满足上述规则最大匹配数量的交集,即尽可能多地建立 a 与 b 元素之间的一一映射关系
示例说明(可选):
若 a = [1,2,3],b = [3,4]
最优解为 2 个匹配:
a[0]+a[1] = 3 → 匹配 b[0]
a[2] = 3 → 匹配 b[0] ❌(冲突,因为 b[0] 已被使用)
实际正确匹配:a[0]+a[1] = 3(匹配 b[0])和 a[2] 无法匹配 b[1]