第3题,10取5,回溯法: public class TenInt {     static final int NUM=10;     int[] arr;     int res;     TenInt(){         arr=new int[NUM];         res=Integer.MAX_VALUE;     }     void dfs(int start, int count, final int total, final int sum){         if(count==5){             res=Math.min(res, Math.abs(total-2*sum));             return;         }         if(start>=NUM|| count>5){             return;         }         for(int i=start; i<NUM; i++){             swap(start, i);             dfs(start+1, count+1, total,sum+arr[start]);             swap(start, i);         }     } ... }