import random
class Solution:
def __init__(self, nums: List[int]):
self.newnums = nums
def reset(self) -> List[int]:
"""
Resets the array to its original configuration and return it.
"""
return self.newnums
def shuffle(self) -> List[int]:
"""
Returns a random shuffling of the array.
"""
newnums2=self.newnums[:]
l=len(newnums2)
for i in range(len(newnums2)):
# 随机生成一个i到l的下标数
n = random.randrange(i, l)
#两个数字交换
newnums2[i],newnums2[n] = newnums2[n],newnums2[i]
return newnums2
# Your Solution object will be instantiated and called as such:
# obj = Solution(nums)
# param_1 = obj.reset()
# param_2 = obj.shuffle()
random.randrange()
描述
randrange() 方法返回指定递增基数集合中的一个随机数,基数默认值为1。
语法
以下是 randrange() 方法的语法:
import random
random.randrange ([start,] stop [,step])
注意:randrange()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
参数
start – 指定范围内的开始值,包含在范围内。
stop – 指定范围内的结束值,不包含在范围内。
step – 指定递增基数。