【发布时间】:2017-12-24 01:27:17
【问题描述】:
我不断收到错误消息,因为我的代码不会返回二维数组。 如何将我想要的值存储到答案中。
static int[][] findPairsWithGivenDifference(int[] arr, int k) {
int sizeOfArray = arr.length;
int[][] answer;
Arrays.sort(arr);
int first = 0, last = 1;
while(last < sizeOfArray && first < sizeOfArray){
if(first != last && arr[last] - arr[first] == k){
// this is where the problem is, how do I return these values in
// [[0, 1], [2, 5]] format
answer = {arr[first]arr[last]};
first++;
last++;
}else if(arr[last] - arr[first] < k){
last++;
}else{
first++;
}
} // end of while
return answer;
}
【问题讨论】:
-
“我不断收到错误,因为我的代码不会返回 2D 数组” - 错误是什么,“不会返回二维数组”?
-
@JimGarrison 错误在第 10 行。如果有 answer = {arr[first],arr[second]},这将不起作用。如何将第一个和第二个存储在二维数组中?谢谢。
-
您试图在每次迭代时重新初始化数组,但您没有正确初始化它,您需要按照
{{x},{y}}的方式做一些事情,但这不包括 on初始化java要求你指定数组每个维度的范围。
标签: java arrays multidimensional-array