计算数组中的任意个数字的和为某一个值的组合
Posted 醉清风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算数组中的任意个数字的和为某一个值的组合相关的知识,希望对你有一定的参考价值。
问题:
有1,3,2,4,5这几个数字,把这几个数相加结果等于6
结果可以是
1,3,2
2,4
1,5
实现:
public Map get(int result, Map<String, Object> map, boolean flag) { int array[] = new int[]{1, 3, 2, 4, 5}; for (int i = 0; i < array.length; i++) { int value = result - array[i]; if ((value != array[i] || flag) && value > 0) { for (int j = 0; j < array.length; j++) { if (value == array[j]) { if (!map.containsKey(String.valueOf(array[i])) && !flag) { map.put(String.valueOf(value), array[i]); } else if (flag) { if (result > array[i] && array[i] > array[j]) { map.put(result + " " + array[i], array[j]); } } } else { int two = value - array[j]; if (two > 0) { if (value + array[j] < 6) { get(two, map, true); } } } } } } return map; }
以上是关于计算数组中的任意个数字的和为某一个值的组合的主要内容,如果未能解决你的问题,请参考以下文章