- 浏览: 466101 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
ty1972873004:
sunwang810812 写道我运行了这个例子,怎么结果是这 ...
Java并发编程: 使用Semaphore限制资源并发访问的线程数 -
lgh1992314:
simpleDean 写道请问,Logger.setLevel ...
Java内置Logger详解 -
sunwang810812:
我运行了这个例子,怎么结果是这样的:2号车泊车6号车泊车5号车 ...
Java并发编程: 使用Semaphore限制资源并发访问的线程数 -
jp260715007:
nanjiwubing123 写道参考你的用法,用如下方式实现 ...
面试题--三个线程循环打印ABC10次的几种解决方法 -
cb_0312:
SurnameDictionary文章我没看完,现在懂了
中文排序
给定一个数据集合,把这些数据分成和相等的两堆,输出所有可能的结果。
比如:
源数据集合-->[7,6,5,4,3,2,1] 分成和相等的两堆数据,有如下几种情况!
第1种结果==> [7, 6, 1] 和 [5, 4, 3, 2]
第2种结果==> [7, 5, 2] 和 [6, 4, 3, 1]
第3种结果==> [7, 4, 3] 和 [6, 5, 2, 1]
第4种结果==> [7, 4, 2, 1] 和 [6, 5, 3]
思路:
1. 首先判断这个数据集合的和是不是偶数,只有偶数才能分成和一样的两堆数据。
2. 将数据集分成新的两个和一样的数据集合,它们的和是原来数据集和的二分之一,如SUM。得到这个值,作为期望值,
使用递归的思想,(本实现使用了Stack)。如果递归过程中Stack中的数据集和为SUM,那么剩下的数据集合也是SUM,输出这两个集合。
源数据集合-->[15,14,13,11,10,9,8,7,6,5,4,3,2,1] 分成和相等的两堆数据,有如下几种情况!
第1种结果==> [15, 14, 13, 11, 1] 和 [10, 9, 8, 7, 6, 5, 4, 3, 2]
第2种结果==> [15, 14, 13, 10, 2] 和 [11, 9, 8, 7, 6, 5, 4, 3, 1]
第3种结果==> [15, 14, 13, 9, 3] 和 [11, 10, 8, 7, 6, 5, 4, 2, 1]
第4种结果==> [15, 14, 13, 9, 2, 1] 和 [11, 10, 8, 7, 6, 5, 4, 3]
第5种结果==> [15, 14, 13, 8, 4] 和 [11, 10, 9, 7, 6, 5, 3, 2, 1]
第6种结果==> [15, 14, 13, 8, 3, 1] 和 [11, 10, 9, 7, 6, 5, 4, 2]
第7种结果==> [15, 14, 13, 7, 5] 和 [11, 10, 9, 8, 6, 4, 3, 2, 1]
第8种结果==> [15, 14, 13, 7, 4, 1] 和 [11, 10, 9, 8, 6, 5, 3, 2]
第9种结果==> [15, 14, 13, 7, 3, 2] 和 [11, 10, 9, 8, 6, 5, 4, 1]
第10种结果==> [15, 14, 13, 6, 5, 1] 和 [11, 10, 9, 8, 7, 4, 3, 2]
第11种结果==> [15, 14, 13, 6, 4, 2] 和 [11, 10, 9, 8, 7, 5, 3, 1]
第12种结果==> [15, 14, 13, 6, 3, 2, 1] 和 [11, 10, 9, 8, 7, 5, 4]
第13种结果==> [15, 14, 13, 5, 4, 3] 和 [11, 10, 9, 8, 7, 6, 2, 1]
第14种结果==> [15, 14, 13, 5, 4, 2, 1] 和 [11, 10, 9, 8, 7, 6, 3]
第15种结果==> [15, 14, 11, 10, 4] 和 [13, 9, 8, 7, 6, 5, 3, 2, 1]
第16种结果==> [15, 14, 11, 10, 3, 1] 和 [13, 9, 8, 7, 6, 5, 4, 2]
第17种结果==> [15, 14, 11, 9, 5] 和 [13, 10, 8, 7, 6, 4, 3, 2, 1]
第18种结果==> [15, 14, 11, 9, 4, 1] 和 [13, 10, 8, 7, 6, 5, 3, 2]
第19种结果==> [15, 14, 11, 9, 3, 2] 和 [13, 10, 8, 7, 6, 5, 4, 1]
第20种结果==> [15, 14, 11, 8, 6] 和 [13, 10, 9, 7, 5, 4, 3, 2, 1]
第21种结果==> [15, 14, 11, 8, 5, 1] 和 [13, 10, 9, 7, 6, 4, 3, 2]
第22种结果==> [15, 14, 11, 8, 4, 2] 和 [13, 10, 9, 7, 6, 5, 3, 1]
第23种结果==> [15, 14, 11, 8, 3, 2, 1] 和 [13, 10, 9, 7, 6, 5, 4]
第24种结果==> [15, 14, 11, 7, 6, 1] 和 [13, 10, 9, 8, 5, 4, 3, 2]
第25种结果==> [15, 14, 11, 7, 5, 2] 和 [13, 10, 9, 8, 6, 4, 3, 1]
第26种结果==> [15, 14, 11, 7, 4, 3] 和 [13, 10, 9, 8, 6, 5, 2, 1]
第27种结果==> [15, 14, 11, 7, 4, 2, 1] 和 [13, 10, 9, 8, 6, 5, 3]
第28种结果==> [15, 14, 11, 6, 5, 3] 和 [13, 10, 9, 8, 7, 4, 2, 1]
第29种结果==> [15, 14, 11, 6, 5, 2, 1] 和 [13, 10, 9, 8, 7, 4, 3]
第30种结果==> [15, 14, 11, 6, 4, 3, 1] 和 [13, 10, 9, 8, 7, 5, 2]
第31种结果==> [15, 14, 11, 5, 4, 3, 2] 和 [13, 10, 9, 8, 7, 6, 1]
第32种结果==> [15, 14, 10, 9, 6] 和 [13, 11, 8, 7, 5, 4, 3, 2, 1]
第33种结果==> [15, 14, 10, 9, 5, 1] 和 [13, 11, 8, 7, 6, 4, 3, 2]
第34种结果==> [15, 14, 10, 9, 4, 2] 和 [13, 11, 8, 7, 6, 5, 3, 1]
第35种结果==> [15, 14, 10, 9, 3, 2, 1] 和 [13, 11, 8, 7, 6, 5, 4]
第36种结果==> [15, 14, 10, 8, 7] 和 [13, 11, 9, 6, 5, 4, 3, 2, 1]
第37种结果==> [15, 14, 10, 8, 6, 1] 和 [13, 11, 9, 7, 5, 4, 3, 2]
第38种结果==> [15, 14, 10, 8, 5, 2] 和 [13, 11, 9, 7, 6, 4, 3, 1]
第39种结果==> [15, 14, 10, 8, 4, 3] 和 [13, 11, 9, 7, 6, 5, 2, 1]
第40种结果==> [15, 14, 10, 8, 4, 2, 1] 和 [13, 11, 9, 7, 6, 5, 3]
第41种结果==> [15, 14, 10, 7, 6, 2] 和 [13, 11, 9, 8, 5, 4, 3, 1]
第42种结果==> [15, 14, 10, 7, 5, 3] 和 [13, 11, 9, 8, 6, 4, 2, 1]
第43种结果==> [15, 14, 10, 7, 5, 2, 1] 和 [13, 11, 9, 8, 6, 4, 3]
第44种结果==> [15, 14, 10, 7, 4, 3, 1] 和 [13, 11, 9, 8, 6, 5, 2]
第45种结果==> [15, 14, 10, 6, 5, 4] 和 [13, 11, 9, 8, 7, 3, 2, 1]
第46种结果==> [15, 14, 10, 6, 5, 3, 1] 和 [13, 11, 9, 8, 7, 4, 2]
第47种结果==> [15, 14, 10, 6, 4, 3, 2] 和 [13, 11, 9, 8, 7, 5, 1]
第48种结果==> [15, 14, 10, 5, 4, 3, 2, 1] 和 [13, 11, 9, 8, 7, 6]
第49种结果==> [15, 14, 9, 8, 7, 1] 和 [13, 11, 10, 6, 5, 4, 3, 2]
第50种结果==> [15, 14, 9, 8, 6, 2] 和 [13, 11, 10, 7, 5, 4, 3, 1]
第51种结果==> [15, 14, 9, 8, 5, 3] 和 [13, 11, 10, 7, 6, 4, 2, 1]
第52种结果==> [15, 14, 9, 8, 5, 2, 1] 和 [13, 11, 10, 7, 6, 4, 3]
第53种结果==> [15, 14, 9, 8, 4, 3, 1] 和 [13, 11, 10, 7, 6, 5, 2]
第54种结果==> [15, 14, 9, 7, 6, 3] 和 [13, 11, 10, 8, 5, 4, 2, 1]
第55种结果==> [15, 14, 9, 7, 6, 2, 1] 和 [13, 11, 10, 8, 5, 4, 3]
第56种结果==> [15, 14, 9, 7, 5, 4] 和 [13, 11, 10, 8, 6, 3, 2, 1]
第57种结果==> [15, 14, 9, 7, 5, 3, 1] 和 [13, 11, 10, 8, 6, 4, 2]
第58种结果==> [15, 14, 9, 7, 4, 3, 2] 和 [13, 11, 10, 8, 6, 5, 1]
第59种结果==> [15, 14, 9, 6, 5, 4, 1] 和 [13, 11, 10, 8, 7, 3, 2]
第60种结果==> [15, 14, 9, 6, 5, 3, 2] 和 [13, 11, 10, 8, 7, 4, 1]
第61种结果==> [15, 14, 9, 6, 4, 3, 2, 1] 和 [13, 11, 10, 8, 7, 5]
第62种结果==> [15, 14, 8, 7, 6, 4] 和 [13, 11, 10, 9, 5, 3, 2, 1]
第63种结果==> [15, 14, 8, 7, 6, 3, 1] 和 [13, 11, 10, 9, 5, 4, 2]
第64种结果==> [15, 14, 8, 7, 5, 4, 1] 和 [13, 11, 10, 9, 6, 3, 2]
第65种结果==> [15, 14, 8, 7, 5, 3, 2] 和 [13, 11, 10, 9, 6, 4, 1]
第66种结果==> [15, 14, 8, 7, 4, 3, 2, 1] 和 [13, 11, 10, 9, 6, 5]
第67种结果==> [15, 14, 8, 6, 5, 4, 2] 和 [13, 11, 10, 9, 7, 3, 1]
第68种结果==> [15, 14, 8, 6, 5, 3, 2, 1] 和 [13, 11, 10, 9, 7, 4]
第69种结果==> [15, 14, 7, 6, 5, 4, 3] 和 [13, 11, 10, 9, 8, 2, 1]
第70种结果==> [15, 14, 7, 6, 5, 4, 2, 1] 和 [13, 11, 10, 9, 8, 3]
第71种结果==> [15, 13, 11, 10, 5] 和 [14, 9, 8, 7, 6, 4, 3, 2, 1]
第72种结果==> [15, 13, 11, 10, 4, 1] 和 [14, 9, 8, 7, 6, 5, 3, 2]
第73种结果==> [15, 13, 11, 10, 3, 2] 和 [14, 9, 8, 7, 6, 5, 4, 1]
第74种结果==> [15, 13, 11, 9, 6] 和 [14, 10, 8, 7, 5, 4, 3, 2, 1]
第75种结果==> [15, 13, 11, 9, 5, 1] 和 [14, 10, 8, 7, 6, 4, 3, 2]
第76种结果==> [15, 13, 11, 9, 4, 2] 和 [14, 10, 8, 7, 6, 5, 3, 1]
第77种结果==> [15, 13, 11, 9, 3, 2, 1] 和 [14, 10, 8, 7, 6, 5, 4]
第78种结果==> [15, 13, 11, 8, 7] 和 [14, 10, 9, 6, 5, 4, 3, 2, 1]
第79种结果==> [15, 13, 11, 8, 6, 1] 和 [14, 10, 9, 7, 5, 4, 3, 2]
第80种结果==> [15, 13, 11, 8, 5, 2] 和 [14, 10, 9, 7, 6, 4, 3, 1]
第81种结果==> [15, 13, 11, 8, 4, 3] 和 [14, 10, 9, 7, 6, 5, 2, 1]
第82种结果==> [15, 13, 11, 8, 4, 2, 1] 和 [14, 10, 9, 7, 6, 5, 3]
第83种结果==> [15, 13, 11, 7, 6, 2] 和 [14, 10, 9, 8, 5, 4, 3, 1]
第84种结果==> [15, 13, 11, 7, 5, 3] 和 [14, 10, 9, 8, 6, 4, 2, 1]
第85种结果==> [15, 13, 11, 7, 5, 2, 1] 和 [14, 10, 9, 8, 6, 4, 3]
第86种结果==> [15, 13, 11, 7, 4, 3, 1] 和 [14, 10, 9, 8, 6, 5, 2]
第87种结果==> [15, 13, 11, 6, 5, 4] 和 [14, 10, 9, 8, 7, 3, 2, 1]
第88种结果==> [15, 13, 11, 6, 5, 3, 1] 和 [14, 10, 9, 8, 7, 4, 2]
第89种结果==> [15, 13, 11, 6, 4, 3, 2] 和 [14, 10, 9, 8, 7, 5, 1]
第90种结果==> [15, 13, 11, 5, 4, 3, 2, 1] 和 [14, 10, 9, 8, 7, 6]
第91种结果==> [15, 13, 10, 9, 7] 和 [14, 11, 8, 6, 5, 4, 3, 2, 1]
第92种结果==> [15, 13, 10, 9, 6, 1] 和 [14, 11, 8, 7, 5, 4, 3, 2]
第93种结果==> [15, 13, 10, 9, 5, 2] 和 [14, 11, 8, 7, 6, 4, 3, 1]
第94种结果==> [15, 13, 10, 9, 4, 3] 和 [14, 11, 8, 7, 6, 5, 2, 1]
第95种结果==> [15, 13, 10, 9, 4, 2, 1] 和 [14, 11, 8, 7, 6, 5, 3]
第96种结果==> [15, 13, 10, 8, 7, 1] 和 [14, 11, 9, 6, 5, 4, 3, 2]
第97种结果==> [15, 13, 10, 8, 6, 2] 和 [14, 11, 9, 7, 5, 4, 3, 1]
第98种结果==> [15, 13, 10, 8, 5, 3] 和 [14, 11, 9, 7, 6, 4, 2, 1]
第99种结果==> [15, 13, 10, 8, 5, 2, 1] 和 [14, 11, 9, 7, 6, 4, 3]
第100种结果==> [15, 13, 10, 8, 4, 3, 1] 和 [14, 11, 9, 7, 6, 5, 2]
第101种结果==> [15, 13, 10, 7, 6, 3] 和 [14, 11, 9, 8, 5, 4, 2, 1]
第102种结果==> [15, 13, 10, 7, 6, 2, 1] 和 [14, 11, 9, 8, 5, 4, 3]
第103种结果==> [15, 13, 10, 7, 5, 4] 和 [14, 11, 9, 8, 6, 3, 2, 1]
第104种结果==> [15, 13, 10, 7, 5, 3, 1] 和 [14, 11, 9, 8, 6, 4, 2]
第105种结果==> [15, 13, 10, 7, 4, 3, 2] 和 [14, 11, 9, 8, 6, 5, 1]
第106种结果==> [15, 13, 10, 6, 5, 4, 1] 和 [14, 11, 9, 8, 7, 3, 2]
第107种结果==> [15, 13, 10, 6, 5, 3, 2] 和 [14, 11, 9, 8, 7, 4, 1]
第108种结果==> [15, 13, 10, 6, 4, 3, 2, 1] 和 [14, 11, 9, 8, 7, 5]
第109种结果==> [15, 13, 9, 8, 7, 2] 和 [14, 11, 10, 6, 5, 4, 3, 1]
第110种结果==> [15, 13, 9, 8, 6, 3] 和 [14, 11, 10, 7, 5, 4, 2, 1]
第111种结果==> [15, 13, 9, 8, 6, 2, 1] 和 [14, 11, 10, 7, 5, 4, 3]
第112种结果==> [15, 13, 9, 8, 5, 4] 和 [14, 11, 10, 7, 6, 3, 2, 1]
第113种结果==> [15, 13, 9, 8, 5, 3, 1] 和 [14, 11, 10, 7, 6, 4, 2]
第114种结果==> [15, 13, 9, 8, 4, 3, 2] 和 [14, 11, 10, 7, 6, 5, 1]
第115种结果==> [15, 13, 9, 7, 6, 4] 和 [14, 11, 10, 8, 5, 3, 2, 1]
第116种结果==> [15, 13, 9, 7, 6, 3, 1] 和 [14, 11, 10, 8, 5, 4, 2]
第117种结果==> [15, 13, 9, 7, 5, 4, 1] 和 [14, 11, 10, 8, 6, 3, 2]
第118种结果==> [15, 13, 9, 7, 5, 3, 2] 和 [14, 11, 10, 8, 6, 4, 1]
第119种结果==> [15, 13, 9, 7, 4, 3, 2, 1] 和 [14, 11, 10, 8, 6, 5]
第120种结果==> [15, 13, 9, 6, 5, 4, 2] 和 [14, 11, 10, 8, 7, 3, 1]
第121种结果==> [15, 13, 9, 6, 5, 3, 2, 1] 和 [14, 11, 10, 8, 7, 4]
第122种结果==> [15, 13, 8, 7, 6, 5] 和 [14, 11, 10, 9, 4, 3, 2, 1]
第123种结果==> [15, 13, 8, 7, 6, 4, 1] 和 [14, 11, 10, 9, 5, 3, 2]
第124种结果==> [15, 13, 8, 7, 6, 3, 2] 和 [14, 11, 10, 9, 5, 4, 1]
第125种结果==> [15, 13, 8, 7, 5, 4, 2] 和 [14, 11, 10, 9, 6, 3, 1]
第126种结果==> [15, 13, 8, 7, 5, 3, 2, 1] 和 [14, 11, 10, 9, 6, 4]
第127种结果==> [15, 13, 8, 6, 5, 4, 3] 和 [14, 11, 10, 9, 7, 2, 1]
第128种结果==> [15, 13, 8, 6, 5, 4, 2, 1] 和 [14, 11, 10, 9, 7, 3]
第129种结果==> [15, 13, 7, 6, 5, 4, 3, 1] 和 [14, 11, 10, 9, 8, 2]
第130种结果==> [15, 11, 10, 9, 8, 1] 和 [14, 13, 7, 6, 5, 4, 3, 2]
第131种结果==> [15, 11, 10, 9, 7, 2] 和 [14, 13, 8, 6, 5, 4, 3, 1]
第132种结果==> [15, 11, 10, 9, 6, 3] 和 [14, 13, 8, 7, 5, 4, 2, 1]
第133种结果==> [15, 11, 10, 9, 6, 2, 1] 和 [14, 13, 8, 7, 5, 4, 3]
第134种结果==> [15, 11, 10, 9, 5, 4] 和 [14, 13, 8, 7, 6, 3, 2, 1]
第135种结果==> [15, 11, 10, 9, 5, 3, 1] 和 [14, 13, 8, 7, 6, 4, 2]
第136种结果==> [15, 11, 10, 9, 4, 3, 2] 和 [14, 13, 8, 7, 6, 5, 1]
第137种结果==> [15, 11, 10, 8, 7, 3] 和 [14, 13, 9, 6, 5, 4, 2, 1]
第138种结果==> [15, 11, 10, 8, 7, 2, 1] 和 [14, 13, 9, 6, 5, 4, 3]
第139种结果==> [15, 11, 10, 8, 6, 4] 和 [14, 13, 9, 7, 5, 3, 2, 1]
第140种结果==> [15, 11, 10, 8, 6, 3, 1] 和 [14, 13, 9, 7, 5, 4, 2]
第141种结果==> [15, 11, 10, 8, 5, 4, 1] 和 [14, 13, 9, 7, 6, 3, 2]
第142种结果==> [15, 11, 10, 8, 5, 3, 2] 和 [14, 13, 9, 7, 6, 4, 1]
第143种结果==> [15, 11, 10, 8, 4, 3, 2, 1] 和 [14, 13, 9, 7, 6, 5]
第144种结果==> [15, 11, 10, 7, 6, 5] 和 [14, 13, 9, 8, 4, 3, 2, 1]
第145种结果==> [15, 11, 10, 7, 6, 4, 1] 和 [14, 13, 9, 8, 5, 3, 2]
第146种结果==> [15, 11, 10, 7, 6, 3, 2] 和 [14, 13, 9, 8, 5, 4, 1]
第147种结果==> [15, 11, 10, 7, 5, 4, 2] 和 [14, 13, 9, 8, 6, 3, 1]
第148种结果==> [15, 11, 10, 7, 5, 3, 2, 1] 和 [14, 13, 9, 8, 6, 4]
第149种结果==> [15, 11, 10, 6, 5, 4, 3] 和 [14, 13, 9, 8, 7, 2, 1]
第150种结果==> [15, 11, 10, 6, 5, 4, 2, 1] 和 [14, 13, 9, 8, 7, 3]
第151种结果==> [15, 11, 9, 8, 7, 4] 和 [14, 13, 10, 6, 5, 3, 2, 1]
第152种结果==> [15, 11, 9, 8, 7, 3, 1] 和 [14, 13, 10, 6, 5, 4, 2]
第153种结果==> [15, 11, 9, 8, 6, 5] 和 [14, 13, 10, 7, 4, 3, 2, 1]
第154种结果==> [15, 11, 9, 8, 6, 4, 1] 和 [14, 13, 10, 7, 5, 3, 2]
第155种结果==> [15, 11, 9, 8, 6, 3, 2] 和 [14, 13, 10, 7, 5, 4, 1]
第156种结果==> [15, 11, 9, 8, 5, 4, 2] 和 [14, 13, 10, 7, 6, 3, 1]
第157种结果==> [15, 11, 9, 8, 5, 3, 2, 1] 和 [14, 13, 10, 7, 6, 4]
第158种结果==> [15, 11, 9, 7, 6, 5, 1] 和 [14, 13, 10, 8, 4, 3, 2]
第159种结果==> [15, 11, 9, 7, 6, 4, 2] 和 [14, 13, 10, 8, 5, 3, 1]
第160种结果==> [15, 11, 9, 7, 6, 3, 2, 1] 和 [14, 13, 10, 8, 5, 4]
第161种结果==> [15, 11, 9, 7, 5, 4, 3] 和 [14, 13, 10, 8, 6, 2, 1]
第162种结果==> [15, 11, 9, 7, 5, 4, 2, 1] 和 [14, 13, 10, 8, 6, 3]
第163种结果==> [15, 11, 9, 6, 5, 4, 3, 1] 和 [14, 13, 10, 8, 7, 2]
第164种结果==> [15, 11, 8, 7, 6, 5, 2] 和 [14, 13, 10, 9, 4, 3, 1]
第165种结果==> [15, 11, 8, 7, 6, 4, 3] 和 [14, 13, 10, 9, 5, 2, 1]
第166种结果==> [15, 11, 8, 7, 6, 4, 2, 1] 和 [14, 13, 10, 9, 5, 3]
第167种结果==> [15, 11, 8, 7, 5, 4, 3, 1] 和 [14, 13, 10, 9, 6, 2]
第168种结果==> [15, 11, 8, 6, 5, 4, 3, 2] 和 [14, 13, 10, 9, 7, 1]
第169种结果==> [15, 11, 7, 6, 5, 4, 3, 2, 1] 和 [14, 13, 10, 9, 8]
第170种结果==> [15, 10, 9, 8, 7, 5] 和 [14, 13, 11, 6, 4, 3, 2, 1]
第171种结果==> [15, 10, 9, 8, 7, 4, 1] 和 [14, 13, 11, 6, 5, 3, 2]
第172种结果==> [15, 10, 9, 8, 7, 3, 2] 和 [14, 13, 11, 6, 5, 4, 1]
第173种结果==> [15, 10, 9, 8, 6, 5, 1] 和 [14, 13, 11, 7, 4, 3, 2]
第174种结果==> [15, 10, 9, 8, 6, 4, 2] 和 [14, 13, 11, 7, 5, 3, 1]
第175种结果==> [15, 10, 9, 8, 6, 3, 2, 1] 和 [14, 13, 11, 7, 5, 4]
第176种结果==> [15, 10, 9, 8, 5, 4, 3] 和 [14, 13, 11, 7, 6, 2, 1]
第177种结果==> [15, 10, 9, 8, 5, 4, 2, 1] 和 [14, 13, 11, 7, 6, 3]
第178种结果==> [15, 10, 9, 7, 6, 5, 2] 和 [14, 13, 11, 8, 4, 3, 1]
第179种结果==> [15, 10, 9, 7, 6, 4, 3] 和 [14, 13, 11, 8, 5, 2, 1]
第180种结果==> [15, 10, 9, 7, 6, 4, 2, 1] 和 [14, 13, 11, 8, 5, 3]
第181种结果==> [15, 10, 9, 7, 5, 4, 3, 1] 和 [14, 13, 11, 8, 6, 2]
第182种结果==> [15, 10, 9, 6, 5, 4, 3, 2] 和 [14, 13, 11, 8, 7, 1]
第183种结果==> [15, 10, 8, 7, 6, 5, 3] 和 [14, 13, 11, 9, 4, 2, 1]
第184种结果==> [15, 10, 8, 7, 6, 5, 2, 1] 和 [14, 13, 11, 9, 4, 3]
第185种结果==> [15, 10, 8, 7, 6, 4, 3, 1] 和 [14, 13, 11, 9, 5, 2]
第186种结果==> [15, 10, 8, 7, 5, 4, 3, 2] 和 [14, 13, 11, 9, 6, 1]
第187种结果==> [15, 10, 8, 6, 5, 4, 3, 2, 1] 和 [14, 13, 11, 9, 7]
第188种结果==> [15, 9, 8, 7, 6, 5, 4] 和 [14, 13, 11, 10, 3, 2, 1]
第189种结果==> [15, 9, 8, 7, 6, 5, 3, 1] 和 [14, 13, 11, 10, 4, 2]
第190种结果==> [15, 9, 8, 7, 6, 4, 3, 2] 和 [14, 13, 11, 10, 5, 1]
第191种结果==> [15, 9, 8, 7, 5, 4, 3, 2, 1] 和 [14, 13, 11, 10, 6]
比如:
源数据集合-->[7,6,5,4,3,2,1] 分成和相等的两堆数据,有如下几种情况!
第1种结果==> [7, 6, 1] 和 [5, 4, 3, 2]
第2种结果==> [7, 5, 2] 和 [6, 4, 3, 1]
第3种结果==> [7, 4, 3] 和 [6, 5, 2, 1]
第4种结果==> [7, 4, 2, 1] 和 [6, 5, 3]
思路:
1. 首先判断这个数据集合的和是不是偶数,只有偶数才能分成和一样的两堆数据。
2. 将数据集分成新的两个和一样的数据集合,它们的和是原来数据集和的二分之一,如SUM。得到这个值,作为期望值,
使用递归的思想,(本实现使用了Stack)。如果递归过程中Stack中的数据集和为SUM,那么剩下的数据集合也是SUM,输出这两个集合。
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Stack; /** * 题目: * 给定一个数据集合,把这些数据分成和相等的两堆,输出所有可能的结果。 * * 比如: * 源数据集合-->[7,6,5,4,3,2,1] 分成和相等的两堆数据,有如下几种情况! * 第1种结果==> [7, 6, 1] 和 [5, 4, 3, 2] * 第2种结果==> [7, 5, 2] 和 [6, 4, 3, 1] * 第3种结果==> [7, 4, 3] 和 [6, 5, 2, 1] * 第4种结果==> [7, 4, 2, 1] 和 [6, 5, 3] * * @author Eric * @version 1.0 * */ public class FindTwoSetsWithSameSum { // 当前Stack中所有数据的和 private int sumInStack = 0; private Stack<Integer> stack = new Stack<Integer>(); /** * 数据从大到小排列 */ private static void sortByDes(int[] data) { Arrays.sort(data); int length = data.length; for (int i = 0; i < length / 2; i++) { int temp = data[i]; data[i] = data[length - i - 1]; data[length - i - 1] = temp; } } private List<String> uniqueResult = new ArrayList<String>(); int count = 0; public void populate(int[] data) { /** * 计算数据集的和,如果不是偶数,那么直接输出“结果不存在”。 */ int sum = sum(data); if (sum % 2 != 0) { System.out.println("结果不存在!"); return; } /** * 如果数据集的和为偶数,计算出平均数,为了减少递归的次数, * 将数据从大到小排列。 */ int average = sum / 2; sortByDes(data); /** * 打印出数据集合的信息。 * 如: * 源数据集合-->[15,14,13,11,10,9,8,7,6,5,4,3,2,1] 分成和相等的两堆数据,有如下几种情况! */ printDataArray(data); populateTargetSets(average, data, 0, data.length); } private void populateTargetSets(int sum, int[] sourceData, int begin, int end) { // 判断Stack中的数据和是否等于目标值,如果是则输出当前Stack中的数据 if (sumInStack == sum) { if (!isDuplicatedResult(stack, sourceData)) { print(stack, sourceData); } } for (int currentIndex = begin; currentIndex < end; currentIndex++) { /* * 如果当前Stack中的和加上当前index的数据小于等于目标值, 那么将当前的index的数据添加到Stack中去, * 同时,将当前Stack中所有数据的和加上新添加到Stack中的数值 */ if (sumInStack + sourceData[currentIndex] <= sum) { stack.push(sourceData[currentIndex]); sumInStack += sourceData[currentIndex]; // 当前index加上1,递归调用本身 populateTargetSets(sum, sourceData, currentIndex + 1, end); sumInStack -= (Integer) stack.pop(); } } } private boolean isDuplicatedResult(Stack<Integer> stack, int[] sourceData) { return uniqueResult.contains(stack.toString()); } private void print(Stack<Integer> stack, int[] sourceData) { printIndexInfor(); printStack(stack); printRemainingData(stack, sourceData); } private void printIndexInfor() { System.out.print("第"); System.out.print(++count); System.out.print("种结果==> "); } private void printRemainingData(Stack<Integer> stack, int[] sourceData) { List<Integer> list = new ArrayList<Integer>(); for (int element : sourceData) { list.add(element); } for (int element : stack) { list.remove(new Integer(element)); } System.out.print(" 和 "); System.out.println(list.toString()); uniqueResult.add(stack.toString()); uniqueResult.add(list.toString()); } private void printStack(Stack<Integer> stack) { System.out.print(""); System.out.print(stack.toString()); } private void printDataArray(int[] sourceData) { StringBuilder sb = new StringBuilder(); sb.append('['); for (int element : sourceData) { sb.append(element); sb.append(','); } sb.setCharAt(sb.length() - 1, ']'); System.out.print("源数据集合-->"); System.out.print(sb.toString()); System.out.println(" 分成和相等的两堆数据,有如下几种情况!"); System.out.println(); } /** * 数据求和。 */ private int sum(int[] data) { int sum = 0; for (int element : data) { sum += element; } return sum; } public static void main(String[] args) { int[] sourceData = { 1, 3, 4, 5, 6, 2, 7, 8, 9, 10, 11, 13, 14, 15 }; FindTwoSetsWithSameSum finder = new FindTwoSetsWithSameSum(); finder.populate(sourceData); } }
源数据集合-->[15,14,13,11,10,9,8,7,6,5,4,3,2,1] 分成和相等的两堆数据,有如下几种情况!
第1种结果==> [15, 14, 13, 11, 1] 和 [10, 9, 8, 7, 6, 5, 4, 3, 2]
第2种结果==> [15, 14, 13, 10, 2] 和 [11, 9, 8, 7, 6, 5, 4, 3, 1]
第3种结果==> [15, 14, 13, 9, 3] 和 [11, 10, 8, 7, 6, 5, 4, 2, 1]
第4种结果==> [15, 14, 13, 9, 2, 1] 和 [11, 10, 8, 7, 6, 5, 4, 3]
第5种结果==> [15, 14, 13, 8, 4] 和 [11, 10, 9, 7, 6, 5, 3, 2, 1]
第6种结果==> [15, 14, 13, 8, 3, 1] 和 [11, 10, 9, 7, 6, 5, 4, 2]
第7种结果==> [15, 14, 13, 7, 5] 和 [11, 10, 9, 8, 6, 4, 3, 2, 1]
第8种结果==> [15, 14, 13, 7, 4, 1] 和 [11, 10, 9, 8, 6, 5, 3, 2]
第9种结果==> [15, 14, 13, 7, 3, 2] 和 [11, 10, 9, 8, 6, 5, 4, 1]
第10种结果==> [15, 14, 13, 6, 5, 1] 和 [11, 10, 9, 8, 7, 4, 3, 2]
第11种结果==> [15, 14, 13, 6, 4, 2] 和 [11, 10, 9, 8, 7, 5, 3, 1]
第12种结果==> [15, 14, 13, 6, 3, 2, 1] 和 [11, 10, 9, 8, 7, 5, 4]
第13种结果==> [15, 14, 13, 5, 4, 3] 和 [11, 10, 9, 8, 7, 6, 2, 1]
第14种结果==> [15, 14, 13, 5, 4, 2, 1] 和 [11, 10, 9, 8, 7, 6, 3]
第15种结果==> [15, 14, 11, 10, 4] 和 [13, 9, 8, 7, 6, 5, 3, 2, 1]
第16种结果==> [15, 14, 11, 10, 3, 1] 和 [13, 9, 8, 7, 6, 5, 4, 2]
第17种结果==> [15, 14, 11, 9, 5] 和 [13, 10, 8, 7, 6, 4, 3, 2, 1]
第18种结果==> [15, 14, 11, 9, 4, 1] 和 [13, 10, 8, 7, 6, 5, 3, 2]
第19种结果==> [15, 14, 11, 9, 3, 2] 和 [13, 10, 8, 7, 6, 5, 4, 1]
第20种结果==> [15, 14, 11, 8, 6] 和 [13, 10, 9, 7, 5, 4, 3, 2, 1]
第21种结果==> [15, 14, 11, 8, 5, 1] 和 [13, 10, 9, 7, 6, 4, 3, 2]
第22种结果==> [15, 14, 11, 8, 4, 2] 和 [13, 10, 9, 7, 6, 5, 3, 1]
第23种结果==> [15, 14, 11, 8, 3, 2, 1] 和 [13, 10, 9, 7, 6, 5, 4]
第24种结果==> [15, 14, 11, 7, 6, 1] 和 [13, 10, 9, 8, 5, 4, 3, 2]
第25种结果==> [15, 14, 11, 7, 5, 2] 和 [13, 10, 9, 8, 6, 4, 3, 1]
第26种结果==> [15, 14, 11, 7, 4, 3] 和 [13, 10, 9, 8, 6, 5, 2, 1]
第27种结果==> [15, 14, 11, 7, 4, 2, 1] 和 [13, 10, 9, 8, 6, 5, 3]
第28种结果==> [15, 14, 11, 6, 5, 3] 和 [13, 10, 9, 8, 7, 4, 2, 1]
第29种结果==> [15, 14, 11, 6, 5, 2, 1] 和 [13, 10, 9, 8, 7, 4, 3]
第30种结果==> [15, 14, 11, 6, 4, 3, 1] 和 [13, 10, 9, 8, 7, 5, 2]
第31种结果==> [15, 14, 11, 5, 4, 3, 2] 和 [13, 10, 9, 8, 7, 6, 1]
第32种结果==> [15, 14, 10, 9, 6] 和 [13, 11, 8, 7, 5, 4, 3, 2, 1]
第33种结果==> [15, 14, 10, 9, 5, 1] 和 [13, 11, 8, 7, 6, 4, 3, 2]
第34种结果==> [15, 14, 10, 9, 4, 2] 和 [13, 11, 8, 7, 6, 5, 3, 1]
第35种结果==> [15, 14, 10, 9, 3, 2, 1] 和 [13, 11, 8, 7, 6, 5, 4]
第36种结果==> [15, 14, 10, 8, 7] 和 [13, 11, 9, 6, 5, 4, 3, 2, 1]
第37种结果==> [15, 14, 10, 8, 6, 1] 和 [13, 11, 9, 7, 5, 4, 3, 2]
第38种结果==> [15, 14, 10, 8, 5, 2] 和 [13, 11, 9, 7, 6, 4, 3, 1]
第39种结果==> [15, 14, 10, 8, 4, 3] 和 [13, 11, 9, 7, 6, 5, 2, 1]
第40种结果==> [15, 14, 10, 8, 4, 2, 1] 和 [13, 11, 9, 7, 6, 5, 3]
第41种结果==> [15, 14, 10, 7, 6, 2] 和 [13, 11, 9, 8, 5, 4, 3, 1]
第42种结果==> [15, 14, 10, 7, 5, 3] 和 [13, 11, 9, 8, 6, 4, 2, 1]
第43种结果==> [15, 14, 10, 7, 5, 2, 1] 和 [13, 11, 9, 8, 6, 4, 3]
第44种结果==> [15, 14, 10, 7, 4, 3, 1] 和 [13, 11, 9, 8, 6, 5, 2]
第45种结果==> [15, 14, 10, 6, 5, 4] 和 [13, 11, 9, 8, 7, 3, 2, 1]
第46种结果==> [15, 14, 10, 6, 5, 3, 1] 和 [13, 11, 9, 8, 7, 4, 2]
第47种结果==> [15, 14, 10, 6, 4, 3, 2] 和 [13, 11, 9, 8, 7, 5, 1]
第48种结果==> [15, 14, 10, 5, 4, 3, 2, 1] 和 [13, 11, 9, 8, 7, 6]
第49种结果==> [15, 14, 9, 8, 7, 1] 和 [13, 11, 10, 6, 5, 4, 3, 2]
第50种结果==> [15, 14, 9, 8, 6, 2] 和 [13, 11, 10, 7, 5, 4, 3, 1]
第51种结果==> [15, 14, 9, 8, 5, 3] 和 [13, 11, 10, 7, 6, 4, 2, 1]
第52种结果==> [15, 14, 9, 8, 5, 2, 1] 和 [13, 11, 10, 7, 6, 4, 3]
第53种结果==> [15, 14, 9, 8, 4, 3, 1] 和 [13, 11, 10, 7, 6, 5, 2]
第54种结果==> [15, 14, 9, 7, 6, 3] 和 [13, 11, 10, 8, 5, 4, 2, 1]
第55种结果==> [15, 14, 9, 7, 6, 2, 1] 和 [13, 11, 10, 8, 5, 4, 3]
第56种结果==> [15, 14, 9, 7, 5, 4] 和 [13, 11, 10, 8, 6, 3, 2, 1]
第57种结果==> [15, 14, 9, 7, 5, 3, 1] 和 [13, 11, 10, 8, 6, 4, 2]
第58种结果==> [15, 14, 9, 7, 4, 3, 2] 和 [13, 11, 10, 8, 6, 5, 1]
第59种结果==> [15, 14, 9, 6, 5, 4, 1] 和 [13, 11, 10, 8, 7, 3, 2]
第60种结果==> [15, 14, 9, 6, 5, 3, 2] 和 [13, 11, 10, 8, 7, 4, 1]
第61种结果==> [15, 14, 9, 6, 4, 3, 2, 1] 和 [13, 11, 10, 8, 7, 5]
第62种结果==> [15, 14, 8, 7, 6, 4] 和 [13, 11, 10, 9, 5, 3, 2, 1]
第63种结果==> [15, 14, 8, 7, 6, 3, 1] 和 [13, 11, 10, 9, 5, 4, 2]
第64种结果==> [15, 14, 8, 7, 5, 4, 1] 和 [13, 11, 10, 9, 6, 3, 2]
第65种结果==> [15, 14, 8, 7, 5, 3, 2] 和 [13, 11, 10, 9, 6, 4, 1]
第66种结果==> [15, 14, 8, 7, 4, 3, 2, 1] 和 [13, 11, 10, 9, 6, 5]
第67种结果==> [15, 14, 8, 6, 5, 4, 2] 和 [13, 11, 10, 9, 7, 3, 1]
第68种结果==> [15, 14, 8, 6, 5, 3, 2, 1] 和 [13, 11, 10, 9, 7, 4]
第69种结果==> [15, 14, 7, 6, 5, 4, 3] 和 [13, 11, 10, 9, 8, 2, 1]
第70种结果==> [15, 14, 7, 6, 5, 4, 2, 1] 和 [13, 11, 10, 9, 8, 3]
第71种结果==> [15, 13, 11, 10, 5] 和 [14, 9, 8, 7, 6, 4, 3, 2, 1]
第72种结果==> [15, 13, 11, 10, 4, 1] 和 [14, 9, 8, 7, 6, 5, 3, 2]
第73种结果==> [15, 13, 11, 10, 3, 2] 和 [14, 9, 8, 7, 6, 5, 4, 1]
第74种结果==> [15, 13, 11, 9, 6] 和 [14, 10, 8, 7, 5, 4, 3, 2, 1]
第75种结果==> [15, 13, 11, 9, 5, 1] 和 [14, 10, 8, 7, 6, 4, 3, 2]
第76种结果==> [15, 13, 11, 9, 4, 2] 和 [14, 10, 8, 7, 6, 5, 3, 1]
第77种结果==> [15, 13, 11, 9, 3, 2, 1] 和 [14, 10, 8, 7, 6, 5, 4]
第78种结果==> [15, 13, 11, 8, 7] 和 [14, 10, 9, 6, 5, 4, 3, 2, 1]
第79种结果==> [15, 13, 11, 8, 6, 1] 和 [14, 10, 9, 7, 5, 4, 3, 2]
第80种结果==> [15, 13, 11, 8, 5, 2] 和 [14, 10, 9, 7, 6, 4, 3, 1]
第81种结果==> [15, 13, 11, 8, 4, 3] 和 [14, 10, 9, 7, 6, 5, 2, 1]
第82种结果==> [15, 13, 11, 8, 4, 2, 1] 和 [14, 10, 9, 7, 6, 5, 3]
第83种结果==> [15, 13, 11, 7, 6, 2] 和 [14, 10, 9, 8, 5, 4, 3, 1]
第84种结果==> [15, 13, 11, 7, 5, 3] 和 [14, 10, 9, 8, 6, 4, 2, 1]
第85种结果==> [15, 13, 11, 7, 5, 2, 1] 和 [14, 10, 9, 8, 6, 4, 3]
第86种结果==> [15, 13, 11, 7, 4, 3, 1] 和 [14, 10, 9, 8, 6, 5, 2]
第87种结果==> [15, 13, 11, 6, 5, 4] 和 [14, 10, 9, 8, 7, 3, 2, 1]
第88种结果==> [15, 13, 11, 6, 5, 3, 1] 和 [14, 10, 9, 8, 7, 4, 2]
第89种结果==> [15, 13, 11, 6, 4, 3, 2] 和 [14, 10, 9, 8, 7, 5, 1]
第90种结果==> [15, 13, 11, 5, 4, 3, 2, 1] 和 [14, 10, 9, 8, 7, 6]
第91种结果==> [15, 13, 10, 9, 7] 和 [14, 11, 8, 6, 5, 4, 3, 2, 1]
第92种结果==> [15, 13, 10, 9, 6, 1] 和 [14, 11, 8, 7, 5, 4, 3, 2]
第93种结果==> [15, 13, 10, 9, 5, 2] 和 [14, 11, 8, 7, 6, 4, 3, 1]
第94种结果==> [15, 13, 10, 9, 4, 3] 和 [14, 11, 8, 7, 6, 5, 2, 1]
第95种结果==> [15, 13, 10, 9, 4, 2, 1] 和 [14, 11, 8, 7, 6, 5, 3]
第96种结果==> [15, 13, 10, 8, 7, 1] 和 [14, 11, 9, 6, 5, 4, 3, 2]
第97种结果==> [15, 13, 10, 8, 6, 2] 和 [14, 11, 9, 7, 5, 4, 3, 1]
第98种结果==> [15, 13, 10, 8, 5, 3] 和 [14, 11, 9, 7, 6, 4, 2, 1]
第99种结果==> [15, 13, 10, 8, 5, 2, 1] 和 [14, 11, 9, 7, 6, 4, 3]
第100种结果==> [15, 13, 10, 8, 4, 3, 1] 和 [14, 11, 9, 7, 6, 5, 2]
第101种结果==> [15, 13, 10, 7, 6, 3] 和 [14, 11, 9, 8, 5, 4, 2, 1]
第102种结果==> [15, 13, 10, 7, 6, 2, 1] 和 [14, 11, 9, 8, 5, 4, 3]
第103种结果==> [15, 13, 10, 7, 5, 4] 和 [14, 11, 9, 8, 6, 3, 2, 1]
第104种结果==> [15, 13, 10, 7, 5, 3, 1] 和 [14, 11, 9, 8, 6, 4, 2]
第105种结果==> [15, 13, 10, 7, 4, 3, 2] 和 [14, 11, 9, 8, 6, 5, 1]
第106种结果==> [15, 13, 10, 6, 5, 4, 1] 和 [14, 11, 9, 8, 7, 3, 2]
第107种结果==> [15, 13, 10, 6, 5, 3, 2] 和 [14, 11, 9, 8, 7, 4, 1]
第108种结果==> [15, 13, 10, 6, 4, 3, 2, 1] 和 [14, 11, 9, 8, 7, 5]
第109种结果==> [15, 13, 9, 8, 7, 2] 和 [14, 11, 10, 6, 5, 4, 3, 1]
第110种结果==> [15, 13, 9, 8, 6, 3] 和 [14, 11, 10, 7, 5, 4, 2, 1]
第111种结果==> [15, 13, 9, 8, 6, 2, 1] 和 [14, 11, 10, 7, 5, 4, 3]
第112种结果==> [15, 13, 9, 8, 5, 4] 和 [14, 11, 10, 7, 6, 3, 2, 1]
第113种结果==> [15, 13, 9, 8, 5, 3, 1] 和 [14, 11, 10, 7, 6, 4, 2]
第114种结果==> [15, 13, 9, 8, 4, 3, 2] 和 [14, 11, 10, 7, 6, 5, 1]
第115种结果==> [15, 13, 9, 7, 6, 4] 和 [14, 11, 10, 8, 5, 3, 2, 1]
第116种结果==> [15, 13, 9, 7, 6, 3, 1] 和 [14, 11, 10, 8, 5, 4, 2]
第117种结果==> [15, 13, 9, 7, 5, 4, 1] 和 [14, 11, 10, 8, 6, 3, 2]
第118种结果==> [15, 13, 9, 7, 5, 3, 2] 和 [14, 11, 10, 8, 6, 4, 1]
第119种结果==> [15, 13, 9, 7, 4, 3, 2, 1] 和 [14, 11, 10, 8, 6, 5]
第120种结果==> [15, 13, 9, 6, 5, 4, 2] 和 [14, 11, 10, 8, 7, 3, 1]
第121种结果==> [15, 13, 9, 6, 5, 3, 2, 1] 和 [14, 11, 10, 8, 7, 4]
第122种结果==> [15, 13, 8, 7, 6, 5] 和 [14, 11, 10, 9, 4, 3, 2, 1]
第123种结果==> [15, 13, 8, 7, 6, 4, 1] 和 [14, 11, 10, 9, 5, 3, 2]
第124种结果==> [15, 13, 8, 7, 6, 3, 2] 和 [14, 11, 10, 9, 5, 4, 1]
第125种结果==> [15, 13, 8, 7, 5, 4, 2] 和 [14, 11, 10, 9, 6, 3, 1]
第126种结果==> [15, 13, 8, 7, 5, 3, 2, 1] 和 [14, 11, 10, 9, 6, 4]
第127种结果==> [15, 13, 8, 6, 5, 4, 3] 和 [14, 11, 10, 9, 7, 2, 1]
第128种结果==> [15, 13, 8, 6, 5, 4, 2, 1] 和 [14, 11, 10, 9, 7, 3]
第129种结果==> [15, 13, 7, 6, 5, 4, 3, 1] 和 [14, 11, 10, 9, 8, 2]
第130种结果==> [15, 11, 10, 9, 8, 1] 和 [14, 13, 7, 6, 5, 4, 3, 2]
第131种结果==> [15, 11, 10, 9, 7, 2] 和 [14, 13, 8, 6, 5, 4, 3, 1]
第132种结果==> [15, 11, 10, 9, 6, 3] 和 [14, 13, 8, 7, 5, 4, 2, 1]
第133种结果==> [15, 11, 10, 9, 6, 2, 1] 和 [14, 13, 8, 7, 5, 4, 3]
第134种结果==> [15, 11, 10, 9, 5, 4] 和 [14, 13, 8, 7, 6, 3, 2, 1]
第135种结果==> [15, 11, 10, 9, 5, 3, 1] 和 [14, 13, 8, 7, 6, 4, 2]
第136种结果==> [15, 11, 10, 9, 4, 3, 2] 和 [14, 13, 8, 7, 6, 5, 1]
第137种结果==> [15, 11, 10, 8, 7, 3] 和 [14, 13, 9, 6, 5, 4, 2, 1]
第138种结果==> [15, 11, 10, 8, 7, 2, 1] 和 [14, 13, 9, 6, 5, 4, 3]
第139种结果==> [15, 11, 10, 8, 6, 4] 和 [14, 13, 9, 7, 5, 3, 2, 1]
第140种结果==> [15, 11, 10, 8, 6, 3, 1] 和 [14, 13, 9, 7, 5, 4, 2]
第141种结果==> [15, 11, 10, 8, 5, 4, 1] 和 [14, 13, 9, 7, 6, 3, 2]
第142种结果==> [15, 11, 10, 8, 5, 3, 2] 和 [14, 13, 9, 7, 6, 4, 1]
第143种结果==> [15, 11, 10, 8, 4, 3, 2, 1] 和 [14, 13, 9, 7, 6, 5]
第144种结果==> [15, 11, 10, 7, 6, 5] 和 [14, 13, 9, 8, 4, 3, 2, 1]
第145种结果==> [15, 11, 10, 7, 6, 4, 1] 和 [14, 13, 9, 8, 5, 3, 2]
第146种结果==> [15, 11, 10, 7, 6, 3, 2] 和 [14, 13, 9, 8, 5, 4, 1]
第147种结果==> [15, 11, 10, 7, 5, 4, 2] 和 [14, 13, 9, 8, 6, 3, 1]
第148种结果==> [15, 11, 10, 7, 5, 3, 2, 1] 和 [14, 13, 9, 8, 6, 4]
第149种结果==> [15, 11, 10, 6, 5, 4, 3] 和 [14, 13, 9, 8, 7, 2, 1]
第150种结果==> [15, 11, 10, 6, 5, 4, 2, 1] 和 [14, 13, 9, 8, 7, 3]
第151种结果==> [15, 11, 9, 8, 7, 4] 和 [14, 13, 10, 6, 5, 3, 2, 1]
第152种结果==> [15, 11, 9, 8, 7, 3, 1] 和 [14, 13, 10, 6, 5, 4, 2]
第153种结果==> [15, 11, 9, 8, 6, 5] 和 [14, 13, 10, 7, 4, 3, 2, 1]
第154种结果==> [15, 11, 9, 8, 6, 4, 1] 和 [14, 13, 10, 7, 5, 3, 2]
第155种结果==> [15, 11, 9, 8, 6, 3, 2] 和 [14, 13, 10, 7, 5, 4, 1]
第156种结果==> [15, 11, 9, 8, 5, 4, 2] 和 [14, 13, 10, 7, 6, 3, 1]
第157种结果==> [15, 11, 9, 8, 5, 3, 2, 1] 和 [14, 13, 10, 7, 6, 4]
第158种结果==> [15, 11, 9, 7, 6, 5, 1] 和 [14, 13, 10, 8, 4, 3, 2]
第159种结果==> [15, 11, 9, 7, 6, 4, 2] 和 [14, 13, 10, 8, 5, 3, 1]
第160种结果==> [15, 11, 9, 7, 6, 3, 2, 1] 和 [14, 13, 10, 8, 5, 4]
第161种结果==> [15, 11, 9, 7, 5, 4, 3] 和 [14, 13, 10, 8, 6, 2, 1]
第162种结果==> [15, 11, 9, 7, 5, 4, 2, 1] 和 [14, 13, 10, 8, 6, 3]
第163种结果==> [15, 11, 9, 6, 5, 4, 3, 1] 和 [14, 13, 10, 8, 7, 2]
第164种结果==> [15, 11, 8, 7, 6, 5, 2] 和 [14, 13, 10, 9, 4, 3, 1]
第165种结果==> [15, 11, 8, 7, 6, 4, 3] 和 [14, 13, 10, 9, 5, 2, 1]
第166种结果==> [15, 11, 8, 7, 6, 4, 2, 1] 和 [14, 13, 10, 9, 5, 3]
第167种结果==> [15, 11, 8, 7, 5, 4, 3, 1] 和 [14, 13, 10, 9, 6, 2]
第168种结果==> [15, 11, 8, 6, 5, 4, 3, 2] 和 [14, 13, 10, 9, 7, 1]
第169种结果==> [15, 11, 7, 6, 5, 4, 3, 2, 1] 和 [14, 13, 10, 9, 8]
第170种结果==> [15, 10, 9, 8, 7, 5] 和 [14, 13, 11, 6, 4, 3, 2, 1]
第171种结果==> [15, 10, 9, 8, 7, 4, 1] 和 [14, 13, 11, 6, 5, 3, 2]
第172种结果==> [15, 10, 9, 8, 7, 3, 2] 和 [14, 13, 11, 6, 5, 4, 1]
第173种结果==> [15, 10, 9, 8, 6, 5, 1] 和 [14, 13, 11, 7, 4, 3, 2]
第174种结果==> [15, 10, 9, 8, 6, 4, 2] 和 [14, 13, 11, 7, 5, 3, 1]
第175种结果==> [15, 10, 9, 8, 6, 3, 2, 1] 和 [14, 13, 11, 7, 5, 4]
第176种结果==> [15, 10, 9, 8, 5, 4, 3] 和 [14, 13, 11, 7, 6, 2, 1]
第177种结果==> [15, 10, 9, 8, 5, 4, 2, 1] 和 [14, 13, 11, 7, 6, 3]
第178种结果==> [15, 10, 9, 7, 6, 5, 2] 和 [14, 13, 11, 8, 4, 3, 1]
第179种结果==> [15, 10, 9, 7, 6, 4, 3] 和 [14, 13, 11, 8, 5, 2, 1]
第180种结果==> [15, 10, 9, 7, 6, 4, 2, 1] 和 [14, 13, 11, 8, 5, 3]
第181种结果==> [15, 10, 9, 7, 5, 4, 3, 1] 和 [14, 13, 11, 8, 6, 2]
第182种结果==> [15, 10, 9, 6, 5, 4, 3, 2] 和 [14, 13, 11, 8, 7, 1]
第183种结果==> [15, 10, 8, 7, 6, 5, 3] 和 [14, 13, 11, 9, 4, 2, 1]
第184种结果==> [15, 10, 8, 7, 6, 5, 2, 1] 和 [14, 13, 11, 9, 4, 3]
第185种结果==> [15, 10, 8, 7, 6, 4, 3, 1] 和 [14, 13, 11, 9, 5, 2]
第186种结果==> [15, 10, 8, 7, 5, 4, 3, 2] 和 [14, 13, 11, 9, 6, 1]
第187种结果==> [15, 10, 8, 6, 5, 4, 3, 2, 1] 和 [14, 13, 11, 9, 7]
第188种结果==> [15, 9, 8, 7, 6, 5, 4] 和 [14, 13, 11, 10, 3, 2, 1]
第189种结果==> [15, 9, 8, 7, 6, 5, 3, 1] 和 [14, 13, 11, 10, 4, 2]
第190种结果==> [15, 9, 8, 7, 6, 4, 3, 2] 和 [14, 13, 11, 10, 5, 1]
第191种结果==> [15, 9, 8, 7, 5, 4, 3, 2, 1] 和 [14, 13, 11, 10, 6]
发表评论
-
工厂类中移除if/else语句
2016-07-10 19:52 901面向对象语言的一个强大的特性是多态,它可以用来在代码中移除 ... -
Java编程练手100题
2014-12-11 17:13 6728本文给出100道Java编程练手的程序。 列表如下: 面 ... -
数组复制的三种方法
2014-11-30 12:57 2212本文将给出三种实现数组复制的方法 (以复制整数数组为例)。 ... -
数组复制的三种方法
2014-11-30 12:54 0本文将给出三种实现数组复制的方法 (以复制整数数组为例)。 ... -
四种复制文件的方法
2014-11-29 13:21 1739尽管Java提供了一个类ava.io.File用于文件的操 ... -
判断一个字符串中的字符是否都只出现一次
2014-11-25 12:58 2724本篇博文将给大家带来几个判断一个字符串中的字符是否都只出现一 ... -
使用正则表达式判断一个数是否为素数
2014-11-23 13:35 2167正则表达式能够用于判断一个数是否为素数,这个以前完全没有想过 ... -
几个可以用英文单词表达的正则表达式
2014-11-21 13:12 3750本文,我们将来看一下几个可以用英文单词表达的正则表达式。这些 ... -
(广度优先搜索)打印所有可能的括号组合
2014-11-20 11:58 1953问题:给定一个正整n,作为括号的对数,输出所有括号可能 ... -
随机产生由特殊字符,大小写字母以及数字组成的字符串,且每种字符都至少出现一次
2014-11-19 14:48 3976题目:随机产生字符串,字符串中的字符只能由特殊字符 (! ... -
找出1到n缺失的一个数
2014-11-18 12:57 3173题目:Problem description: You h ... -
EnumSet的几个例子
2014-11-14 16:24 8749EnumSet 是一个与枚举类型一起使用的专用 Set 实现 ... -
给定两个有序数组和一个指定的sum值,从两个数组中各找一个数使得这两个数的和与指定的sum值相差最小
2014-11-12 11:24 3327题目:给定两个有序数组和一个指定的sum值,从两个数组 ... -
Java面试编程题练手
2014-11-04 22:49 6700面试编程 写一个程序,去除有序数组中的重复数字 编 ... -
Collections用法整理
2014-10-22 20:55 9846Collections (java.util.Collect ... -
The Code Sample 代码实例 个人博客开通
2014-09-04 18:48 1418个人博客小站开通 http://thecodesample. ... -
Collections.emptyXXX方法
2014-06-08 13:37 2145从JDK 1.5开始, Collections集合工具类中预先 ... -
这代码怎么就打印出"hello world"了呢?
2014-06-08 00:37 7397for (long l = 4946144450195624L ... -
最短时间过桥
2014-04-21 22:03 4139本文用代码实现最短时间过桥,并且打印如下两个例子的最小过桥时间 ... -
将数组分割成差值最小的子集
2014-04-20 22:34 2899本文使用位掩码实现一个功能 ==》将数组分割成差值最小的子集 ...
相关推荐
在这个特定的数据集——"包含分区问题的示例"中,我们关注的是一个与数学优化相关的经典问题:如何将一组数字均匀地分成两个子集,使得两个子集的元素总和相等。 分区问题是组合优化问题的一个实例,它属于NP完全...
- 把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解。 - 实例问题:实现归并排序算法。 - **二分查找(BinarySearch)** - 在有序数组中查找某一特定元素的高效算法。 - ...
- **includes()/inner_product()/inplace_merge()**:用于检查一个序列是否包含另一个序列的所有元素、计算序列的内积、就地合并两个已排序的序列等。 - **iter_swap()/lexicographical_compare()/lower_bound()**...
二分图是图论中的概念,它的所有顶点可以分成两个互不相交的子集,图中的每一条边连接的两个顶点分别属于这两个不同的顶点集。 判断两棵树是否相等,需要遍历两棵树,并比较对应的节点值是否相等。如果两棵树的结构...
- **归并排序**:同样基于分治法,将数组分成尽可能相等的两半,递归地排序每一半,最后合并两个有序子数组。 2. **搜索算法**: - **顺序搜索**:从头到尾依次检查列表中的每个元素。 - **二分搜索**:针对已...
2. 在森林中选取两个权值最小的结点,合并为一个新的结点,新结点的权值为其两个子结点权值之和,并加入到森林中。 3. 重复步骤2,直到森林中只剩下一个结点为止。 - **第一次合并**:3和5,合并后的新结点权值为8...
6.数据结构中评价算法的两个重要指标是(时间复杂度和空间复杂度) 【北京理工大学 2001 七、1(2分)】 7. 数据结构是研讨数据的_(1)物理结构_和_(2)逻辑结构 _,以及它们之间的相互关系,并对与这种结构定义...
根据给定的信息,我们可以将涉及的数据结构和算法知识点总结如下: ### 1. 顺序查找算法 #### 知识点概述: 顺序查找是最简单的查找方法之一,它通过遍历整个数组来查找目标值。适用于未排序的数据集合。 #### ...
- **知识点**: 排序算法的稳定性是指如果两个相等的关键字经过排序后在结果序列中的相对位置不变。 - **解析**: 排序算法是否稳定并不是衡量其是否有实用价值的唯一标准。即使一个排序算法不稳定,只要它能满足...
根据给定的信息,本文将详细介绍如何使用C++来实现数据结构中的各种算法,涉及的算法包括但不限于顺序表、单链表、双向循环链表、单项循环链表、顺序栈、链式栈、顺序队列、链式队列、优先级队列、串、二叉树、线索...
根据给定文件的信息,我们可以总结出以下数据结构相关的知识点: ### 1. 归并排序 **知识点**:归并排序是一种高效的排序算法,采用分治法的思想,将待排序的序列分成几乎相等的两部分,分别进行排序后再合并。 *...
- **布尔代数**:一个代数系统,其中有两个闭合的二元运算和一个单元运算,这些运算满足某些特定的性质。 - **有限布尔代数的表示定理**:每个有限布尔代数都可以表示为一个特定类型的布尔代数。 #### 图论 ##### ...
内容及步骤: 编写一个类Complex,定义复数的加法、减法、乘法和除法运算,要求在编写该类时重载这些运算操作符,并重载I/O操作符,以便输入和输出复数; 实验报告要求: 按要求写出完整的实验代码; ...
通过找到数组的中位数,可以将数组分成两个大致相等的部分。如果k小于数组长度的一半,那么第k小的元素一定在中位数左侧的子数组中;反之,在右侧。这个方法通常用于并行计算和分布式系统,因为可以将任务有效地分配...
2. 对于两个游戏G1和G2的和G=G1+G2,若V=V1V2是G的一个状态点,则G(V)=G(V1) XOR G(V2)。 性质2的证明涉及异或操作,表明如果知道两个子游戏的SG值,就可以确定组合游戏的SG值。当两个SG值相等时,组合游戏的SG值为...