用递归做,但是比较慢。网上有用动态规划做的
http://blog.youkuaiyun.com/hit0803107/article/details/54894227
public class Solution {
int res = 0;
public int findTargetSumWays(int[] nums, int S) {
if (nums == null || nums.length == 0) return res;
helper(S, 0, 0, nums);
return res;
}
private void helper(int S, int sum, int pos, int[] nums) {
if (sum == S && nums.length == pos) {
res++;
}
else if (nums.length == pos) {
return;
}
else {
helper(S, sum + nums[pos], pos + 1, nums);
helper(S, sum - nums[pos], pos + 1, nums);
}
}
}
本文介绍了一个寻找数组中元素加减组合以达到特定目标和的问题,并提供了一种使用递归方法的解决方案。此外,还提到了一种更高效的解决方法——动态规划,并附上了相关链接。
804

被折叠的 条评论
为什么被折叠?



