题目描述:
题解:
1._init_函数中将输入nums保存在self.nums。
2.reset返回self.nums。
3.shuffle函数中构造new_nums为self.nums的拷贝,然后每次随机一个下标,将对应值添加到res。
class Solution(object): def __init__(self, nums): self.nums = nums self.n = len(nums) def reset(self): return self.nums def shuffle(self): res = [] new_nums = copy.copy(self.nums) for i in range(len(new_nums)): n = random.randint(0,self.n-1-i) res.append(new_nums[n]) del new_nums[n] return res
关于python赋值和拷贝:
关于python随机数:
random.randint:Python 随机数生成 | 菜鸟教程
random.choice:Python choice() 函数 | 菜鸟教程