问个从集合中计算指定数字并分组的方法 比较好的办法是linq拉类似sql的语法来查询集合但是这个linq要你自己写,要求有的高。还有个方法是,放入内存数据库,使用sql查询,easy。。推荐这个 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给一个比较笨的方案,但性能绝对没问题。假设原Map对象为originalMap,现在新建一个与originalMap完全相反的Map,假设叫newMap,newMap的key为originalMap的value,newMap的value为Set<Integer>,即originalMap的key的集合。搜索时采用二分算法,由于newMap的key是整数,默认是从小到大排好的,现将newMap的key分成左右树,递归对比,符合条件后返回所有左边的集合就是结果。 有什么直接点的方法吗.....就是用存JAVA... 这个分组有要求吗,不然不是会存在多种分组的结果,不是吗?比如:id money0 222221 333332 444443 555554 66666输入 88888,分组结果是? 比如:id money5 111110 222221 333332 444443 555554 66666输入 55555分为第一组 0 222221 33333第二组3 55555第三组5 111112 44444第四组5 111111 33333像这样的...只要每一组的合小于或等于指定的值就可以.也可以说每一条记录本身就是一个组合..只是可以忽略掉 想了想发现我连怎么取其中任意个数相加求和都不会。lz你用自己那个加个多线程有用不。。前面几楼的看了看不懂sql也写不来。。智商好捉急啊 想到一个思路,没考虑效率。首先这个数据集按value排序5 111110 222221 333332 444443 555554 66666现在输入55555先循环一次,找到原集合中第一个大于输入55555的值的位置:5(位置下标从0开始)这个位置之前的子集合是我们要计算的数据,之后的数据不用考虑。然后根据这个下标5得知一共有5条数据,然后就是一个递归排列组合问题了,把所有可能的组合都计算一个和,如果和小于输入55555,则该组合是结果集的一个项。 接收邮件 wap---> url 连接?还是其他问题? 请教啊,高分谢谢... 请教List的用法 搜索引擎的一些问题(急) 五一了散分!讨论一个问题? Dispatcher initialization failed 读取出错!文本为几百M,刚才搞了下,插入问题解决了!但问题又来了 我想问下关于jdk的问题 请问在Red Hat Linux9下,有哪个比较好的Java开发工具!高手帮忙! easyUI+struts2 myeclispe连接数据库异常 java list循环层级码归来
假设原Map对象为originalMap,现在新建一个与originalMap完全相反的Map,假设叫newMap,newMap的key为originalMap的value,newMap的value为Set<Integer>,即originalMap的key的集合。
搜索时采用二分算法,由于newMap的key是整数,默认是从小到大排好的,现将newMap的key分成左右树,递归对比,符合条件后返回所有左边的集合就是结果。
比如:
id money
0 22222
1 33333
2 44444
3 55555
4 66666
输入 88888,分组结果是?
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
像这样的...
只要每一组的合小于或等于指定的值就可以.也可以说每一条记录本身就是一个组合..只是可以忽略掉
lz你用自己那个加个多线程有用不。。
前面几楼的看了看不懂
sql也写不来。。
智商好捉急啊
首先这个数据集按value排序
5 11111
0 22222
1 33333
2 44444
3 55555
4 66666
现在输入55555
先循环一次,找到原集合中第一个大于输入55555的值的位置:5(位置下标从0开始)
这个位置之前的子集合是我们要计算的数据,之后的数据不用考虑。
然后根据这个下标5得知一共有5条数据,然后就是一个递归排列组合问题了,把所有可能的组合都计算一个和,如果和小于输入55555,则该组合是结果集的一个项。