求一解题思路,属于算法类的吧。
能提示下代码 或者 伪代码的 ,或者告知,这属于哪类算法,都不胜感激哈。
有一个数值型的 动态数组,里面有3~10个元素,就是3~10个数。
需要从里面抽出,满足在[120,170]这个范围内的组合 ,作为返回值。
要求:
1 单独1个元素,满足在[120,170]范围内的话,可以。
2 抽出时,最多只允许用到2个元素。
3 允许对元素进行数字拆分。
为了方便说明,以3个元素举例的话,
1 单独1个元素,满足在[120,170]范围内的话,可以。
举例:[120,130,140],因为每个单独都满足[120,170]
所以返回值为[120][130][140]
2 抽出时,最多只允许用到2个元素。
举例:[80,130,60],因为 80+60=140 满足[120,170],130单独满足[120,170]
所以返回值为[80,60][130]
3 允许对元素进行数字拆分。
举例:[110,100,120],虽然单独120满足[120,170],
可是剩余的110,100不论单独还是组合都无法满足[120,170]
但是,对数字进行拆分的话,比如把110拆分为60和50的话。
那么返回值为[60,100][50,120]
当然,把100拆分为50和50的话,
那么返回值为[110,50][50,120]
如果把120拆分为60和60的话,
那么返回值为[110,60][100,60]
哪个都可以。