一个整数数组,有n个整数,如何找其中m个数的和等于另外n-m个数的和

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 list = new ArrayList();

  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();

     }
    }

   }
  }
 }

}
//再做一下筛选

 

你可能感兴趣的:(笔试)