Member 13206694 Ответов: 2

Заполните массив от 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};


не мог найти никакой закономерности.

2 Ответов

Рейтинг:
13

OriginalGriff

Google translate предлагает следующее: "Мне дали домашнее задание, и я хочу, чтобы вы его сделали" - отсюда и дублирующая публикация в Stack overflow java-заполнение массива от 1 до n, когда расстояние от числа до числа равно самому числу - переполнение стека[^]

Мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.
Если ничего другого не приходит на ум, всегда есть решение грубой силы и невежества, пробуя каждую комбинацию, пока она не сработает...

Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете!

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!


Member 13206694

Извините :3

Рейтинг:
0

Patrice T

Вы не знаете конкретного способа заполнения массива.
Но вы знаете, как заполнить массив вручную, вы следуете алгоритму, который вы изобрели.
Ваша программа будет следовать тому же алгоритму.
Возвращайтесь, если у вас возникнет конкретная проблема с вашим кодом.

Мы не делаем вашу домашнюю работу.
Домашнее задание предназначено не для того, чтобы проверить ваши навыки просить других людей выполнять вашу работу, а для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание пройденных вами курсов, а также проблем, возникающих при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по их исправлению.
Любая ваша неудача поможет вам узнать, что работает, а что нет, это называется "методом проб и ошибок".
Так что попробуйте, перечитайте свои уроки и начинайте работать. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это все равно что пытаться научиться водить машину, обучая кого-то другого.
Создание алгоритма-это в основном поиск математики и необходимая адаптация к вашей реальной задаче.

Идея "развития" заключается в том, что это слово предполагает: "систематическое использование научно-технических знаний для достижения конкретных целей или требований." BusinessDictionary.com[^]
Это не то же самое, что "быстро гуглите и сдавайтесь, если я не могу найти точно правильный код".