import random
class
solution
:def
__init__
(self, nums: list[
int]):
self.newnums = nums
defreset
(self)
-> list[
int]
:"""
resets the array to its original configuration and return it.
"""return self.newnums
defshuffle
(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 – 指定遞增基數。
LeetCode 打亂陣列
打亂乙個沒有重複元素的陣列。示例 以數字集合 1,2 和 3 初始化陣列。int nums solution solution new solution nums 打亂陣列 1,2,3 並返回結果。任何 1,2,3 的排列返回的概率應該相同。solution.shuffle 重設陣列到它的初始狀態 ...
LeetCode 384 打亂陣列
打亂乙個沒有重複元素的陣列。示例 以數字集合 1,2 和 3 初始化陣列。int nums solution solution new solution nums 打亂陣列 1,2,3 並返回結果。任何 1,2,3 的排列返回的概率應該相同。solution.shuffle 重設陣列到它的初始狀態 ...
Leetcode 384 打亂陣列
打亂乙個沒有重複元素的陣列。示例 以數字集合 1,2 和 3 初始化陣列。int nums solution solution new solution nums 打亂陣列 1,2,3 並返回結果。任何 1,2,3 的排列返回的概率應該相同。solution.shuffle 重設陣列到它的初始狀態 ...