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 {
}

答案:
奇数的个数 如果是 “偶数个” 即可