检查是否存在满足条件的数字组合
题目信息
输入一组数字,数字之间用空格隔开,判断输入的数字是否可以满足A=B+2C,每个元素最多只可用一次。若有满足的数字组合,依次输出A、B、C三个数字,之间用空格隔开;若无满足条件的组合,输出0。
例如:输入 2 3 5 7 输出 7 3 2
编码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;public class CheckNumCouple {public static void main(String[] args) throws NumberFormatException, IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String input;while ((input = br.readLine()) != null) {String[] numArrStr = input.split(" ");checkNumsCouple(numArrStr);}}/*** 检查是否存在满足条件的数字组合* @param arrs 数组*/public static void checkNumsCouple(String[] arrs) {// 将字符数组转换为Integer数组Integer[] arr = new Integer[arrs.length];for (int i=0; i<arrs.length; i++) {arr[i] = Integer.valueOf(arrs[i]);}// 让数组降序排列// 通过下面的循环,此处排序可以不要Arrays.sort(arr, new Comparator<Integer>(){public int compare(Integer o1, Integer o2) {return o2 - o1;}});// 定义标识,是否有满足条件数字组合// 0 无;1或其它值 有int index = 0;// 循环数组,让等式相等且3个元素的位置不相等for (int i=0; i<arr.length; i++) {for (int j=0; j<arr.length; j++) {for (int k=0; k<arr.length; k++) {if ((arr[i] == arr[j] + 2*arr[k]) && (i!=j && i!=k && j!=k)) {index++;System.out.println(arr[i] + " " + arr[j] + " " + arr[k]);}}}}// 无满足条件的数字if (index == 0) {System.out.println(0);}}
}
上面代码
输入 2 3 4 5 7
输出 7 3 2
输入 2 4 0
输出 4 0 2
输入 1 2 3
输出 0
检查是否存在满足条件的数字组合相关推荐
- 华为OD机试真题 Java 实现【检查是否存在满足条件的数字组合】【2022Q4 100分】
一.题目描述 给定一个正整数数组,检查数组中是否存在满足规则的数字组合 规则:A = B + 2C 二.输入描述 第一行输出数组的元素个数. 接下来一行输出所有数组元素,用空格隔开. 三.输出描述 如 ...
- 背包问题 codevs2210 数字组合
数字组合 题目描述 Description 在N个数中找出其和为M的若干个数.先读入正整数N和M, 再读入N个正数(可以有相同的数字,每个数字均在1000以内), 在这N个数中找出若干个数, 使它们的 ...
- 小数位数_圆周率的小数位是否包含了所有的数字组合?
人们很早就认识到,无论多大的圆,其周长除以直径是一个恒定的常数,该常数被称为圆周率.一直以来,数学家知道圆周率是一个小数,但并不清楚这个小数是否是循环的.为此,数学家不断想办法计算出更多小数位的圆周率 ...
- 搭建基于飞桨的OCR工具库,总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别的PaddleOCR
介绍 基于飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别.竖排文本识别.长文本识别.同时支持多种文本检测.文本识别的训练算法. 相关链接 PaddleOCR ...
- 英文和数字组合 正则 密码验证
function checkInput() { //检查两次密码是否一致 var v1 = document.getElementById("pwd1").value.trim ...
- 拼多多——多多的数字组合
多多的数字组合 题目 思路 代码 结果 题目 多多君最近在研究某种数字组合: 定义为:每个数字的十进制表示中(0~9),每个数位各不相同且各个数位之和等于N. 满足条件的数字可能很多,找到其中的最小值 ...
- 36 数字组合(Combination Sum)
文章目录 1 题目 2 解决方案 2.1 思路 2.2 图解 2.3 时间复杂度 2.4 空间复杂度 3 源码 1 题目 题目:数字组合(Combination Sum) 描述:给定一个候选数字的集合 ...
- 数字组合(算法竞赛进阶指南)
278. 数字组合 - AcWing题库 给定 N 个正整数 A1,A2,-,AN,从中选出若干个数,使它们的和为 M,求有多少种选择方案. 输入格式 第一行包含两个整数 N 和 M. 第二行包含 N ...
- LintCode 数字组合 题解
数字组合 描述 笔记 数据 评测 给出一组候选数字(C)和目标数字(T),找到C中所有的组合,使找出的数字和为T.C中的数字可以无限制重复被选取. 例如,给出候选数组[2,3,6,7]和目标数字7,所 ...
最新文章
- SAP S4HANA MRP LIVE
- python 函数进阶_Python学习入门基础:一篇文章搞定函数基础、函数进阶
- 协作与协同有什么区别_OA软件, BPM系统, 移动办公系统, 协同办公系统到底有什么区别...
- 反序列化存入数据库里面的session数据
- matlab2012生成dll,64位win7下vc2010如何調用matlab2012a中生成的dll文件
- ASP.NET Core 优雅的在开发环境保存机密(User Secrets)
- 我的软件用了那些技术
- 计算机技术领域当前的主流技术及社会需求调查报告
- 6.3 二进制文件操作案例精选
- 前端知识体系及修炼攻略
- Ubuntu18.04 (WSL) 编译RK3399 Android8.1源码
- 十分钟带你解读Effective C++(导读)
- 丹佛机场行李处理系统分析
- 反病毒技术及其发展趋势
- 拓途公众号数据分析工具梳理企业公众号要做的分析!
- Node.js+express+MySQL仿美团注册登录绑定第三方登录
- 电子设计入门——各种不同的GND怎么接
- 【LeetCode】934. Shortest Bridge 解题报告(Python)
- Linux文件锁内核VFS层源码实现讲解
- 小旋风蜘蛛池让搜狗收录快速增长