Случайный выбор между двумя числами
Всем доброго дня! Имеется массив чисел (все значения в нем могут быть только от 1 до 3)
new int[]{3,3,2,3,3,2,2,3,2,2,1,1,1,1}, вот например такой
Нужно поменять значение ячейки массива [i] таким образом, чтобы каждое [i] изменилось на другое, допустимое значение. Например, если первое значение i=3, то его надо изменить на 1 или 2. И так далее.
Подскажите как это сделать? То есть по сути мне нужно случайно выбрать одно значение из двух возможных
Ответы (2 шт):
Автор решения: ЮрийСПб
→ Ссылка
Навскидку на kotlin можно что-то такое соорудить)
fun randomAllowedValue(excludedValue: Int): Int = mutableListOf(1,2,3).apply { remove(excludedValue) }.let { it[Random.nextInt(it.size)] }
Автор решения: MBo
→ Ссылка
1 + (i+random(2))%3
где random(2) даёт 0 или 1 (не знаю, как это в джаве пишется)