给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的 任意个数之和 等于 target,并打印出所有结果的索引。
程序员文章站
2024-02-01 21:50:40
...
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的 任意个数之和 等于 target,并打印出所有结果的索引。
例如: nums = [1,5,8,17,29,33,39,11,16] ,target = 33
结果1:5 ,结果2:3,8,…
!!!! 把输出结果保存到代码后面 !!!!
import java.util.*;
public class ArrayListTest {
private static final int[] Data = {1,5,8,17,29,33,39,11,16};
private static final int target =29;
public static void main(String[] args) {
GetAllSubsets example = new GetAllSubsets();
example.populateSubset(Data, 0, new int[Data.length], 0, target);
}
}
class GetAllSubsets {
public void populateSubset(final int[] data, int fromIndex,
final int[] result, final int resultLen, final int target) {
if (target == 0) {
printResult(Arrays.copyOf(result, resultLen));
return;
}
while (fromIndex < data.length && data[fromIndex] > target) {
fromIndex++;
}
while (fromIndex < data.length && data[fromIndex] <= target) {
result[resultLen] = fromIndex;
populateSubset(data, fromIndex + 1, result, resultLen + 1, target
- data[fromIndex]);
fromIndex++;
}
}
private void printResult(int[] copyOf) {
StringBuilder sb = new StringBuilder();
for (Integer i : copyOf) {
sb.append(i).append(",");
}
System.out.println(sb.deleteCharAt(sb.length() - 1).toString());
}
}
例:nums = [1,5,8,17,29,33,39,11,16] ,target = 33 输出:
1,3,7
3,8
5
请问大家这个算法哪里出错了 为什么结果不全。
上一篇: 练习2-4 温度转换 (5分)
下一篇: 有活力的SEO教程:电商站点做SEO方法
推荐阅读
-
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的 任意个数之和 等于 target,并打印出所有结果的索引。
-
算法题:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
-
LeetCode 1 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
-
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。
-
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素
-
两数之和:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。...
-
c语言和Java语言实现,两数之和:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
-
[每日一题]给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。
-
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标,假设每种输入只会对应一个答案
-
python练习题---给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。