Счетчик опций Java - PullRequest
       9

Счетчик опций Java

0 голосов
/ 26 февраля 2019

Допустим, у меня есть 6 вариантов и 4 человека, которые могут выбрать любой из этих вариантов.

есть 4 переменные (int) по одной для каждого человека, они могут выбрать один вариант.

два или более человека могут выбрать один и тот же параметр.

как подсчитать, сколько раз был выбран каждый параметр, не выполняя кучу операторов if?

Кроме того, мне запрещеноиспользовать структуры данных.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Вы можете хранить ответы, используя простые числа от p_1 до p_6.Уникальный простой р для каждого варианта.Вы начинаете с целого числа «память» m.Каждый раз, когда пользователь выбирает опцию i, вы умножаете свою «память» int на соответствующую опцию prime m = m * p_i.В любой момент времени вы можете найти выбранные опции в качестве основного разложения m.Этот подход не позволяет вам восстановить порядок выбора.Если это тоже важно, вы могли бы альтернативно кодировать пользователя с помощью простых чисел и их ответов в виде факторов m = p_1 ^ (опция user 1) * p_2 ^ (опция user 2) * ... * p_n ^ (опция user n),В любом случае, ваш выбор зависит от того, что вы хотите сделать с ответами, и от того, хотите ли вы представить больше пользователей или больше вариантов.Я надеюсь, что это может помочь вам в назначении.

0 голосов
/ 26 февраля 2019

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

HashMap<Integer, Integer> selections = new HashMap<Integer, Integer>();
...