查找一个数等于一组数中某些数相加的和
实现需求:
查找一个数等于一组数中哪些数相加的和
例如: 从1, 2, 3, 4, 5, 6, 7 中找出和为5的数, 即2, 3
public class AccumulationUtil {private AccumulationUtil(){}private static final Logger logger = LoggerFactory.getLogger(AccumulationUtil.class);public static void main(String[] args) {long temp[] = {1L, 2L, 3L, 4L, 5L, 6L, 7L};List<Long> newList = getNewList(temp, 5);System.out.println(newList);}/*** 查找一个数等于一组数中哪些数相加的和* @param keys* @param target* @return*/public static List<Long> getNewList(long[] keys, long target) {int n = keys.length;int nbit = 1 << n;long in;List<Long> list = new ArrayList<>();for (int i = 0; i < nbit; i++) {in = 0;list.clear();for (int j = 0; j < n; j++) {int tmp = 1 << j; // 由0到n右移位if ((tmp & i) != 0) { // 与运算,同为1时才会是1in += keys[j];list.add(keys[j]);}}if (in == target){return list;}}return Collections.emptyList();}
}
查找一个数等于一组数中某些数相加的和相关推荐
- java查找一个数等于一组数中哪些数字相加的和_快速入门二分查找
二分查找 使用二分查找的前提 模板 常见的二分查找应用比如猜数字游戏. // 二分查找适用于有序的数组 // 这个一个最简单的二分查找算法,前提是数组中不存在重复元素 function binaryS ...
- 计算机十进制数中码数有几个,计算机中的数和码
<计算机中的数和码>由会员分享,可在线阅读,更多相关<计算机中的数和码(27页珍藏版)>请在人人文库网上搜索. 1.第第1章章 计算机中的数和码计算机中的数和码 微机系统原理及 ...
- C语言简单实现计算一组数据中奇偶数个数
利用do while循环实现不断输入新的数据,内部嵌套else if判断并记录奇偶个数. #include <stdio.h>int main() {int num=0;int ji=0; ...
- 查找两个数储存在二进制中相同的个数
#include <stdio.h>int main() {int a = 0, b = 0;scanf("%d%d", &a, &b);//输入两数i ...
- c语言中求大于的函数,c语言编写函数,求一组数中大于平均值的数的个数.
C语言编写程序 给定一组数,求大于0,等于0,小于0的数据个数 #define N 10 main(){int num1=0,num2=0,num3=0,i;for(i=0;i 一道C语言题目:求一组 ...
- C语言实现查找一组数中的最大和最小值
查找一组数中的最大.最小值 /*** 查找一组数中的最大数* @param nums 数组指针* @param step sizeof(type)* @param n 该组数中有几个数* @retur ...
- 求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序。
已知数据文件IN13.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位 ...
- C语言程序设计:编写函数,求一组数中大于平均值的数的个数
题目内容: 编写函数,求一组整数中大于平均值的个数,数组元素个数任意.例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3. 函数头定义:int aver(int a[] ...
- 在数组中查找一个数并输出所处位置
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p73 4.1.2 上级实训内容 [实训内容2]输入10个数,保存在一个数组中,再任意输入一个数,在数组 ...
最新文章
- 考研英语一2011年真题模考总结
- (完美解决)Tomcat启动提示At least one JAR was scanned for TLDs yet contained no TLDs
- OpenCV中的三种图像数据结构CvMat, IplImage和Mat(二)IplImage
- (65)Verilog HDL多模块重复例化:generate for
- c语言选修课程设计,C语言课程设计--学生选修课系统.doc
- Linux 命令(90)—— which 命令
- hbase java客户端_【HBase教程】(八)HBase JAVA 客户端API使用
- Idea导入MySQL驱动包
- C语言顺序表的12个基本操作(增删改查等)
- 如何解决局域网共享报错0x80004005
- 运营天猫商城的注意事项
- shell美元符_Linux Shell中的美元符号$ | 学步园
- 深入理解CSS动画animation
- php如何判断一个数是不是整数,php判断变量是否是整数的两种方法
- 轻松升级各路硬件,简约时尚的大容量机箱,TT挑战者H6上手
- win10误禁用任务计划程序导致任务栏里的输入法丢失
- 计算机二级PS教学视频百度云,计算机二级ps考试题库完整教程文件.pdf
- 软件/APP/产品投放渠道分类大全
- 一对一直播软件开发中,如何进行推流?
- 带按钮的图片横幅广告_显示带有文字的横幅记住使用cookie的选择
热门文章
- AppCompat 22 1 Google暴走,MD全面兼容低版本
- BMP 图像信息隐藏及检测
- 摘录 | 《十二个圣诞故事》
- SQL实战:上海二手房价分析
- 绿盟科技网络安全威胁周报2017.07 请关注OpenSSL拒绝服务漏洞CVE-2017-3733
- VTK笔记——如何创建圆柱体
- 为什么没有法律保障研究生的权益?
- uni-app小程序onShow执行两次;微信小程序onShow重复执行原因;导航栏tabBar页的onLoad函数不执行;App.vue页的onShow执行原因;onShow莫名其妙执行
- 抓取淘宝天猫商品详情图
- 计算机编程飞船,信息学奥赛题库- 太空飞船