一个整数数组,有n个整数,如何找其中m个数的和等于另外n-m个数的和
原创
©著作权归作者所有:来自51CTO博客作者TechOnly的原创作品,请联系作者获取转载授权,否则将追究法律责任
import java.util.ArrayList;
import java.util.List;//一个整数数组,有n个整数,如何找其中m个数的和等于另外n-m个数的和
public class Find { public static void main(String args[]) {
int[] data = new int[] { 1, 2, 8, 5, 6 };
int sum = 0;
for (int i = 0; i < data.length; i++) {
sum = sum + data[i];
} List<Integer> list = new ArrayList<Integer>();
int sum2 = 0;
while (true) {
for (int m = 1; m < data.length; m++) {
sum2 = 0;
list.clear();
for (int j = 0; j < m; j++) {
int temp = (int) (Math.random() * data.length);
sum2 = sum2 + data[temp];
list.add(temp);
if (sum2 == sum / 2) { for (Integer t : list) {
System.out.print(t + " ");
}
System.out.println(); }
} }
}
}}
//再做一下筛选