所有题目均有五种语言实现。C实现目录、C++ 实现目录、Python实现目录、Java实现目录、JavaScript实现目录
题目
给定一个数组nums,将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,组内元素和的最小值
输入描述:
第一行输入 m
接着输入m个数,表示此数组
数据范围:1<=M<=50, 1<=nums[i]<=50输出描述:
最小拆分数组和。
示例:
输入:
7
4 3 2 3 5 2 1输出:
5
说明:可以等分的情况有:
4 个子集(5),(1,4),(2,3),(2,3)
2 个子集(5, 1, 4),(2,3, 2,3)
但最小的为5。
思路
1:首先第一个目标,将数组拆分,每个子数组的和相等。
比如[2,2,4] 拆分为[2,2] [4]
2:其次第二个目标,要求所有的可能拆分条件下,子数组的和最小。
比如 [1,1,1,1] 可以拆分为[1] [1] [1] [1] 和 [1,1] [1,1]
明显最小的子数组元素之和是1.
3:和