Заполните массив от 1 до n, когда расстояние от числа до числа-это само число
Я получил вызов от своего учителя, и я хотел бы иметь представление о том, как его решить: ввод от пользователя int 'n'. Дан массив, заполненный числами: каждое число от " 1 " до " n " появляется в массиве дважды. (когда n=2: два 1-х два 2-х) цель состоит в том, чтобы отсортировать числа в массиве так, чтобы расстояние от каждой пары чисел было таким же, как и значение числа.
Пример:
int n = 4; int [] sortedArray = {3 , 4 , 2 , 3 , 2 , 4 , 1 , 1};
как видите, расстояние от первого "3" до следующего " 3 "равно 3, расстояние от первого" 2 "до следующего" 2 " равно 2 и так далее.
Длина массива будет равна n*2.
Есть некоторые значения 'n', которые невозможно было бы отсортировать (например, 10,2)
Что я уже пробовал:
Я попытался заполнить массив n=5 и найти какой-то паттерн.
n=5 int [] sortedArray = {1,1,3,4,5,3,2,4,2,5};
не мог найти никакой закономерности.