我们将地图定义为一组键值对。对于此挑战,您需要获取每个值并将其分配给随机选择的键。
- 您必须随机调整值,然后输出结果图。这意味着每次我们运行您的程序时,我们都有机会获得不同的输出
- 值的每个可能排列都必须具有非零的出现机会。
- 所有原始键和原始值必须出现在结果数组中。重复的值在结果数组中必须出现相同的次数。
例如,如果您的地图是:
[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]