请教个算法,一个整形数组中找出相加元素等于10的组合,并输出。 比如说{2,5,-1,9,3,0},就应该有{2,5,3}{2,-1,9}{2,5,3,0}{2,-1,9,0}四种组合,这当然举个例子,实际数组不确定,请教大神开支招,回帖算法
你是要优化方案,还是要实现方案?
优化的方案更好了,谢谢大神
@tangww0826: 实现方案就是遍历.排列组合出所有元素.然后计算出那些组合的和为10
优化方案就是先去重.然后排序.排序之后能做的优化就多了,就不列了.
@吴瑞祥: 排列组合的话,应该2的指数形式增加复杂度,有点不怎么好,能给一种排序过后的优化算法么,谢谢
@tangww0826: 比如加到超过10就可以结束这次循环了.
可以搜索下贪心算法中的背包问题。