Перетасуйте задачу с массивом @Leetcode. Я использую 2 указателя и обновляю массив каждый раз, но проблема не решена.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Перетасуйте задачу с массивом @Leetcode. Я использую 2 указателя и обновляю массив каждый раз, но проблема не решена.

Сообщение Anonymous »

Код: Выделить всё

public int[] shuffle(int[] nums, int n) {
int temp1 = nums[1];
int temp2 = 0;
int i = 1; int j = n;
while (i < n - 1 && j < nums.length) {
System.out.println(i + " " + j + " " + temp1 + " " + temp2 + "  " + Arrays.toString(nums));
temp2 = temp1;
nums[i] = nums[j];
i++; j++;
System.out.println(i + " " + j + " " + temp1 + " " + temp2 + " " + Arrays.toString(nums));
temp1 = nums[i];
nums[i] = temp2;
i++;
System.out.println(i + " " + j + " " + temp1 + " " + temp2 + " " + Arrays.toString(nums));
}
return nums;
}
Дана массив размером n * 2 вида [x1,x2,...,xn,y1,y2,...,yn].
Нам нужно вернуть массив в форме [x1,y1,x2,y2,...,xn,yn.
Я попробовал это решение, получилось O (logN) время. Это сработало в 50% тестовых случаев, но не в остальных. Думаю, здесь необходимо внести небольшие изменения. Я думаю, никто не использовал этот подход. Пожалуйста, если кто-то может помочь мне доработать алгоритм, помогите мне использовать этот подход.

Подробнее здесь: https://stackoverflow.com/questions/787 ... g-the-arra
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»