Ми визначаємо карту як набір пар ключових значень. Для цього завдання потрібно взяти кожне із значень та призначити їх випадково вибраному ключу.
- Ви повинні випадково перетасувати значення та вивести отриману карту. Це означає, що кожен раз, коли ми запускаємо вашу програму, ми маємо шанс отримати різний результат
- Кожна можлива перестановка значень повинна мати ненульовий шанс появи.
- Усі вихідні ключі та початкові значення повинні відображатися в отриманому масиві. Повторні значення повинні відображатися однаковим чином у отриманому масиві.
Наприклад, якщо ваша карта була:
[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]