第一题是+,-取最近似值,代码如下: public class Test1 {     static int min=Integer.MAX_VALUE;     public static void main(String[] args) {         Scanner scanner=new Scanner(System.in);         int t=scanner.nextInt();         for (int i = 0; i < t; i++) {             min=Integer.MAX_VALUE;             int n=scanner.nextInt();             int m=scanner.nextInt();             int[] nums=new int[n];             for (int j = 0; j < n; j++) {                 nums[j]=scanner.nextInt();             }             dfs(nums,0,nums[0],m);             System.out.println(min);         }     }     public static void dfs(int[] nums,int index,int value,int m){         if(index==nums.length-1) {             min = Math.min(Math.abs(value - m), min);             return;         }         dfs(nums,index+1,value+nums[index+1],m);         dfs(nums,index+1,value-nums[index+1],m);     } } dfs深度遍历取最相近值即可