gpt4 book ai didi

java - 如何将数组的元素相加到目标数?

转载 作者:行者123 更新时间:2023-12-04 08:00:52 25 4
gpt4 key购买 nike

我只是想查看一个数组并找到总和为目标数字的元素。我已经深入到程序中了:

public class App {
public static void main(String[] args) throws Exception {
int[] numbers = {3, 6, 2, 9};
int targNum = 5;

twoSum(numbers, targNum);
}

public static void twoSum(int[] nums, int target) {
for (int i = 0; i < nums.length; i++) {
int sum = 0;

if (nums[i] <= target) {
int[] sumNums = {target - nums[i]};

for (int j = 0; j < sumNums.length; j++) {
sum += sumNums[j];
System.out.println(sum);
}
}
}
}
}
我不断收到控制台输出:
2
3
我在另一个文件中运行了一个简单的数组 sum,它似乎工作得很好。

最佳答案

您应该使用 Set只查看给定数组一次。

public class App {

public static void main(String[] args) throws Exception {
int[] numbers = { 3, 6, 2, 9 };
int targNum = 5;

twoSum(numbers, targNum);
}

public static void twoSum(int[] nums, int target) {
Set<Integer> unique = new HashSet<>();

for (int a : nums) {
int b = target - a;

if (unique.contains(b)) {
System.out.println(a + " " + b);
return;
}

unique.add(a);
}

System.err.println("not found");

}

}

关于java - 如何将数组的元素相加到目标数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66480625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com