题目要求:
给定一个数组nums,将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,组内元素和的最小值 第一行输入 m 接着输入m个数,表示此数组 数据范围:1<=M<=50, 1<=nums[i]<=50
算法一:
public class Main{
public static void main(String[] args) {
int[] ints = {3, 2, 6, 4, 4, 5};
//int[] ints = { 3, 6, 3, 6, 4, 5};
Arrays.sort(ints);
int min = ints[ints.length-1]; //最小平均值为数组最大值
int max = Arrays.stream(ints).sum();
int res = 0;
for (int i=min; i<max; i++){
if(max%i == 0){ //满足整除的情况下才能进行平分
int[] temp = new int[max/i]; //桶的个数
if(check( ints, 0, temp, i)){
res = i;
break;
}
}
}
System.out.println(res);
}
/**