打乱顺序的最好方法就是,random一个准备要交换的顺序编号,然后逐个进行交换。
1 | class Solution(object): |
本题主要是实现相同概率打乱数组的算法, 其实在python中的random.shuffle()中就可以实现随机打乱数组的功能
这里需要注意的是random库中每一个方法的取值范围有所区别
random() - 随机返回的是[0,1)的浮点数
randint(1,10) -随机返回[1,10]之间的整数
uniform(1,10) - 随机返回[1,10]之间的浮点数
randrange(1, 100, 2) -随机返回[1, 100)之间的偶数
choice(seq) - 随机返回seq中的一个元素
shuffle(seq) - 随机打乱元seq的顺序
sample(seq ,k) -随机在seq中选取k个元素,不改变原来seq的顺序