Coding 【每日一题】打乱一个没有重复元素的数组 -Python-20210912

Jack · 2021年09月12日 · 最后由 Jack 回复于 2021年09月13日 · 17 次阅读
本帖已被设为精华帖!

通过 Fisher-Yates 算法,打乱一个没有重复元素的数组

Jack 将本帖设为了精华贴 09月12日 11:41

参考代码:

import math
import random
def shuffle(list):
    counter = len(list)
    # while there are elements in the list
    while counter > 0:
        # pick a random index
        index = math.floor(random.random()*counter)
        # Decrease counter by 1
        counter = counter -1
        # And swap the last element with it
        temp = list[counter]
        list[counter] = list[index]
        list[index] = temp
    return list
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册