1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| 输入一个整数数组 S: 数组长度 2 <= Length <= 1000000。 数组中每个元素取值范围在 0 <= Number <= 2^63 -1。
输入一个整数数组 S 请判断是否存在可能性把 S 的所有元素划分到两个非空子集 A 和 B,使得 SumA 是子集 A 中所有元素之和;SumB 是子集 B 中所有元素之和,且 SumA 和 SumB 同为奇数或者同为偶数。
示例: S = [1,2,4,3,2,3,5,4] 如果 A = [1,2,3] SumA = 6,B = [4,2,3,5,4] SumB = 18 因此 S 可以划分成 SumA 和 SumB 都是偶数的两个子集 A 和 B。
实现函数解决这个问题,以 Go 语言为参考: func HasPartition(numbers []int64) bool { }
答案: 奇数的个数 如果是 “偶数个” 即可
|