社区
Java EE
帖子详情
问个从集合中计算指定数字并分组的方法
lovest317
2014-10-09 08:44:13
有一个集合如
id money
1 33333
2 44444
3 55555
4 66666
输入了一个88888的数字
要计算出所有小于等于这个数字的记录.并分组归类...
一组有多条记录..但这几条记录的money的合要小于等于我输入的数字..需要把所有的分组都列出来...
...全文
255
16
打赏
收藏
问个从集合中计算指定数字并分组的方法
有一个集合如 id money 1 33333 2 44444 3 55555 4 66666 输入了一个88888的数字 要计算出所有小于等于这个数字的记录.并分组归类... 一组有多条记录..但这几条记录的money的合要小于等于我输入的数字..需要把所有的分组都列出来...
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lovest317
2014-10-17
打赏
举报
回复
还是没结果...哎.
Norris_Zhang
2014-10-13
打赏
举报
回复
想到一个思路,没考虑效率。 首先这个数据集按value排序 5 11111 0 22222 1 33333 2 44444 3 55555 4 66666 现在输入55555 先循环一次,找到原集合中第一个大于输入55555的值的位置:5(位置下标从0开始) 这个位置之前的子集合是我们要计算的数据,之后的数据不用考虑。 然后根据这个下标5得知一共有5条数据,然后就是一个递归排列组合问题了,把所有可能的组合都计算一个和,如果和小于输入55555,则该组合是结果集的一个项。
attilax
2014-10-13
打赏
举报
回复
linq是王道,解决这类型问题。。。
lovest317
2014-10-13
打赏
举报
回复
哎...哪位大神能来个好算法不....
lovest317
2014-10-11
打赏
举报
回复
比如: id money 5 11111 0 22222 1 33333 2 44444 3 55555 4 66666 输入 55555 分为 第一组 0 22222 1 33333 第二组 3 55555 第三组 5 11111 2 44444 第四组 5 11111 1 33333 像这样的... 只要每一组的合小于或等于指定的值就可以.也可以说每一条记录本身就是一个组合..只是可以忽略掉
scmod
2014-10-11
打赏
举报
回复
想了想发现我连怎么取其中任意个数相加求和都不会。。。。 lz你用自己那个加个多线程有用不。。 前面几楼的看了看不懂。。。 sql也写不来。。 智商好捉急啊。。。
scmod
2014-10-11
打赏
举报
回复
哦是这个意思。。。。 那不就是把小于等于的都可能组合都列出来么。。 然后那个集合有序不
lovest317
2014-10-11
打赏
举报
回复
求大神告知啊...
lovest317
2014-10-10
打赏
举报
回复
有什么直接点的方法吗.....就是用存JAVA...
howsun_zh
2014-10-10
打赏
举报
回复
给一个比较笨的方案,但性能绝对没问题。 假设原Map对象为originalMap,现在新建一个与originalMap完全相反的Map,假设叫newMap,newMap的key为originalMap的value,newMap的value为Set<Integer>,即originalMap的key的集合。 搜索时采用二分算法,由于newMap的key是整数,默认是从小到大排好的,现将newMap的key分成左右树,递归对比,符合条件后返回所有左边的集合就是结果。
scmod
2014-10-10
打赏
举报
回复
看不懂啊。。 为什么有两次分组 想要的结果是那样? 比如1,2,3,4 输入6 出来第一组是: {1;1,2;1,3;1,4,;1,2,3} 第二组 {2;1,2;2,3;2,4;1,2,3} 像这样第一次分组按单个? 分组里面分组计算和?
lovest317
2014-10-10
打赏
举报
回复
对的...现在数据有一千条左右.....会有很多结果...所以想求一个好点的方法...现在写的如果几十条记录没问题..上了一百就GC了....
ningbohezhijun
2014-10-10
打赏
举报
回复
这个分组有要求吗,不然不是会存在多种分组的结果,不是吗? 比如: id money 0 22222 1 33333 2 44444 3 55555 4 66666 输入 88888,分组结果是?
lovest317
2014-10-10
打赏
举报
回复
没大神知道吗......
attilax
2014-10-09
打赏
举报
回复
比较好的办法是linq拉。。。类似sql的语法来查询集合。。。但是这个linq要你自己写,要求有的高。 还有个方法是,放入内存数据库,使用sql查询,easy。。推荐这个
lovest317
2014-10-09
打赏
举报
回复
自己顶一下....
List
集合
中
根据
指定
个数进行
分组
,找出
分组
的和与目标值最接近的组合
List
集合
中
根据
指定
个数进行
分组
,找出
分组
的和与目标值最接近的组合 废话不多说,直接开干。 import org.apache.commons.lang3.StringUtils; import java.util.*; /** * @ClassName: Test * @Description: 求...
Java
集合
、数组 任意个数
数字
相加等于一个
指定
的数
一组
数字
任意个数
数字
相加的和等于
指定
的
数字
。 比如
数字
集合
1,2,3, 4,5,6 ,列出所有
数字
相加等于6的可能性,那么结果有:1+2+3,2+4, 主要这里的结果不是数组打乱顺序相加,而是按照数组顺序取任意个数相加减,...
如何在对象
集合
中
根据对象的某个属性来对
集合
进行
分组
我们经常在工作
中
会碰到这种情况:让我将对象结合
中
的对象按照对象的某个属性的值进行操作,然后根据值对
集合
中
的对象进行
分组
。 这种情况听上去不是很难,但是在做起来的时候就会很麻烦。对不清楚Java8新特性的朋友...
Java List
集合
Stream流多字段
分组
获取字段值和
说明:实际业务开发
中
,从数据库
中
获取所有站点降水数据,需要对站点降水进行累加,需要根据站点进行
分组
,然后将
分组
之后的降水进行累加。下面的
方法
就是使用Stream流进行站点
分组
,获取
分组
之后降水累加。 1、...
JAVA
集合
里某个字段最大值,java8 list取属性值
集合
java8从list
集合
中
取出某一属性的值的
集合
案例...
想了解java8从list
集合
中
取出某一属性的值的
集合
案例的相关内容吗,*饼饼*在本文为您仔细讲解java8 list取属性值
集合
的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java8,list
集合
,属性值
集合
,下面大家...
Java EE
67,550
社区成员
225,863
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章