public bool Subsets(int[] arr)
{
if (arr == null && arr.Length == 0)
{
return false;
}
return Subsets(arr, ArraySum(arr));
}
private int ArraySum(int []arr)
{
int sum = 0;
for (int i = 0; i < arr.Length; i++)
{
sum += arr[i];
}
return sum;//arr数组元素之和
}
private bool Subsets(int[] arr, int sum)
{
bool flag = sum % 2 == 0;
if (flag)
{
int avg = sum / 2;//arr数组元素之和的平均值
int leftsum = 0;
int rightsum = 0;
List<int> left &#
分割等和子集(如果能分割成等和子集则输出True)
于 2022-07-05 17:28:05 首次发布
该博客介绍了一个C#实现的算法,用于判断一个整数数组是否可以分割成两个子集,这两个子集的元素之和相等。通过计算数组元素之和、求平均值,然后遍历数组进行分配,最终确定是否存在等和子集。
摘要由CSDN通过智能技术生成