我正在运行此代码:
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
public static int solution(int X, int[] A) {
int[] myNumbers = new int[X];
for (int i = 0; i < A.length; i++){
myNumbers[A[i]] = A[i];
}
return -1;
}
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
int[] A = {1,3,1,4,2,3,5,4};
System.out.println(solution(5,A));
}
}
但是,我遇到了运行时错误。我不知道为什么。我需要将数组的值存储在另一个数组中的A中,并将该值作为索引。即myNumbers [4] = 4。
答案 0 :(得分:2)
myNumber
索引从0到4,在某些时候你试图访问不存在的索引5
所以要么传递6到solution
要么使用myNumber[A[i]-1]
(所以myNumber [0] = 1)