Мы определяем карту как набор пар ключ-значение. Для этой задачи вам нужно взять каждое из значений и назначить их произвольно выбранному ключу.
- Вы должны случайным образом перемешать значения и вывести получившуюся карту. Это означает, что каждый раз, когда мы запускаем вашу программу, у нас есть шанс получить другой результат
- Каждая возможная перестановка значений должна иметь ненулевую вероятность появления.
- Все исходные ключи и исходные значения должны появиться в результирующем массиве. Повторяющиеся значения должны появляться в результирующем массиве одинаковое количество раз.
Например, если ваша карта была:
[0:10, 1:10, 5:5]
все следующее должно иметь шанс появиться:
[0:10, 1:10, 5:5] (original map)
[0:10, 1:5, 5:10]
[0:10, 1:10, 5:5] (technically the same map, but I swapped the two tens)
[0:10, 1:5, 5:10]
[0:5, 1:10, 5:10]
[0:5, 1:10, 5:10]
Приемлемые входы / выходы:
- Родная карта ваших языков
- Вы можете ввести массив пар ключ-значение. Вы не можете вводить 2 массива, один с ключами, другой со значениями.
- Вы можете использовать строковое представление любого из вышеперечисленных
- Если вы введете массив или карту, вы можете изменить исходный объект вместо возврата
- Тип ввода должен соответствовать типу вывода
- Если вы вводите массив, порядок ключей должен быть сохранен.
- Вы можете предположить, что ключи являются уникальными, но вы не можете предположить, что значения являются уникальными.
Это Код-гольфтак ответь как можно короче
[k, v]
или будут [v, k]
приемлемыми?
[k, v]