题目描述:
题解:
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 直接赋值、浅拷贝和深度拷贝解析 | 菜鸟教程
关于python随机数:
random.randint:Python 随机数生成 | 菜鸟教程
random.choice:Python choice() 函数 | 菜鸟教程



