Я знаю, что подобный вопрос был задан раньше, но медведь со мной.Как генерировать случайные числа из массива без повторения?
У меня есть массив:
int [] arr = {1,2,3,4,5,6,7,8,9};
Я хочу цифры, которые будут генерироваться случайным образом 10 раз. Что-то вроде этого:
4,6,8,2,4,9,3,8,7
Хотя некоторые числа повторяются, число раз больше, чем один раз подряд. Так что не так:
7,3,1,8,8,2,4,9,5,6
Как видите, номер 8 повторяется сразу после его создания. Это не желаемый эффект.
Так что, в общем, я в порядке с повторением числа, если оно не появляется более одного раза подряд.
Покажите нам некоторый код. Что вы пробовали, и с какими проблемами вы столкнулись? –
Эта проблема называется «случайная выборка без замены». Он хорошо изучен. – AShelly
@ Осторожно: кроме того, здесь не проблема. Вопрос, который вы говорите, - это дубликат, который хочет повторить номер. Проблема OP заключается в том, чтобы просто не повторять заданное число два раза подряд, но вы могли бы законно создавать «8, 4, 8». Я бы не удивился, если бы это был дубликат, но это не тот, который вы связывали при закрытии в качестве дубликата. – ShadowRanger