检查是否存在满足条件的数字组合

Scanner sc = new Scanner(System.in);
int num = sc.nextInt(); sc.nextLine();
String[] arr = sc.nextLine().split(" ");
int[] comf = new int[num];
for (int i = 0; i < arr.length; i++) {
    comf[i] = Integer.parseInt(arr[i]);
}
//从大到小排序
int[] array = Arrays.stream(comf)
        .boxed()
        .sorted((Comparator.reverseOrder()))
        .mapToInt(Integer::intValue)
        .toArray();
//A不可能取到最小的两个
for (int i = 0; i < num-2; i++) {
    //B一定小于A,从左往右开始
    for (int j = i+1; j < num; j++) {
        //C一定小于A且C不等于B,从右往左走
        for (int k = num-1; k >i&& k!=j ; k--) {
            int sum = array[j]+array[k]*2;
            if (array[i] == sum){
                System.out.println(array[i]+" "+array[j]+" "+array[k]);
            }
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值