为了账号安全,请及时绑定邮箱和手机立即绑定

Java算法 将整型数组分组,使两组中各元素加起来的和相等

Java算法 将整型数组分组,使两组中各元素加起来的和相等

海绵宝宝撒 2019-03-15 09:15:34
将整型数组分组,使两组中各元素加起来的和相等,求分组方法有多少种。如:数组{1,1,1,1,2,2}有a组({1,1,1,1})、b组({2,2});a组({1,1,2})、b组({1,1,2});a组({2,2})、b组({1,1,1,1})三种分组方法。求算法思路。
查看完整描述

2 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

我觉得是这样,因为分成两组且和相等,那么和一定是sum/2,这里可以有个特判是否无解。

然后问题成了有多少组合和为sum/2的动态规划

dp(i,j) = dp(i-1,j-a(i))+dp(i-1,j)

解释为前i个元素和为j的组合有多少种

答案应该要/2

不知道对不对,感觉没问题,爪机码字欢迎指教。


查看完整回答
反对 回复 2019-04-25
?
慕容708150

TA贡献1831条经验 获得超4个赞

一共就两组,把所有可能分组列举出来再排出不就完了。


查看完整回答
反对 回复 2019-04-25
  • 2 回答
  • 0 关注
  • 1088 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信