Knuth洗牌算法,牛
def __init__(self, nums):
"""
:type nums: List[int]
"""
self.nums = nums
self.res = copy.copy(nums)
def reset(self):
"""
:rtype: List[int]
"""
return self.res
def shuffle(self):
"""
:rtype: List[int]
"""
for i in range(len(self.nums)):
j = randrange(i,len(self.nums))
self.nums[i],self.nums[j] = self.nums[j],self.nums[i]
return self.nums