我希望通过使用流的方式,在数组中添加整数,直到达到目标和,然后返回加起来等于目标和的索引。请注意保留html标签。
例如,如果提供的数组是
例如,如果提供的数组是
{1, 2, 3, 4}
,并且target
是4
,则该方法应该打印出一个由索引{0,2}
组成的int数组,但实际上并没有打印出。以下是代码:public static int[] twoSum(int[] numbers, int target) {
IntStream.of(0, numbers.length - 1).boxed()
.flatMap(i -> IntStream.range(i , numbers.length - 1).boxed()
.filter(j -> numbers[j] + numbers[i] == target)
.flatMap(j -> Stream.of(new int[]{i , j}, new int[] {j,i})))
.forEach(num -> System.out.println(Arrays.toString(num)));
return numbers;
}
public static void main(String[] args) {
System.out.println(Arrays.toString(twoSum(new int[]{1,2,5,1}, 4)));
}
.boxed()
,则int[] b = Arrays.stream(numbers).filter((x -> num[finalI] + x == 4)).toArray();
。此外,这不应该是== target
吗? - Elliott Frisch1, 4, 3, 0, 4, 1
和目标总和4
,应该得到什么结果? - Alexander Ivanchenko