【发布时间】:2014-02-10 18:27:07
【问题描述】:
我有一个随机值数组和一个目标值。
#!/bin/bash
objective='50'
declare -a values=(1 2 2 6 8 14.5 15 28.7 .. 42)
我需要找到一种方法来提取数组“值”中加起来为 50 的任意数字组合
数组有重复项和浮点整数。
解决方案集可能如下所示:
50 = 42 + 8
50 = 42 + 6 + 2
最初我从 bash 开始使用一些嵌套的 for 循环,但是我很快意识到这将随着我的数组长度呈指数增长。
我在大学里学过几门 Java 课程,但我对编程仍然缺乏经验。我开始认为这可能需要递归。
有更多编程经验的人能指出我正确的方向吗?
除了嵌套的 for 循环,你还能如何解决这个问题?
【问题讨论】:
-
您应该将问题的范围缩小到一种语言。
-
感谢您的提示,我会将问题编辑为 java,因为这是我使用最多的问题
-
我对其进行了测试并为我的问题添加了完整的源代码(edit1)
标签: java arrays algorithm recursion