#arrays #search #return
#массивы #Поиск #Возврат
Вопрос:
public int[] twoSum(int[] nums, int target) {
for(int i = 0;i < nums.length;i ) {
for(int j = 0; j < nums.length;j ) {
if(i != j amp;amp; nums[i] nums[j] == target) {
int[] arr = new int[] {i,j};
return arr[];
}
}
}
}
Часть (return arr[];) выдает ошибку. Можете ли вы объяснить мне, почему? Спасибо.
Комментарии:
1. Класс<arr[]> не может быть преобразован в тип —- это ошибка
Ответ №1:
Когда вы объявляете массив целых чисел, вы используете синтаксис
int[] arr;
С этого момента к массиву (или, скорее, к указателю на массив) можно получить доступ через arr
, а к n-му элементу вашего массива, если он существует, можно получить доступ через arr[n-1]
. Синтаксис arr[]
недопустим и был бы излишним, поскольку are
уже является массивом. Попробуйте вернуть просто arr
Ошибка, по-видимому, возникает из-за того, что вы пытаетесь вернуть массив, элементы которого должны иметь тип arr
. Такой класс не определен, и даже если бы он был, такой массив еще не был объявлен.