mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-05 08:27:30 +08:00
29 lines
521 B
Go
29 lines
521 B
Go
package leetcode
|
|
|
|
import "math/rand"
|
|
|
|
type Solution struct {
|
|
nums []int
|
|
}
|
|
|
|
func Constructor(nums []int) Solution {
|
|
return Solution{
|
|
nums: nums,
|
|
}
|
|
}
|
|
|
|
/** Resets the array to its original configuration and return it. */
|
|
func (this *Solution) Reset() []int {
|
|
return this.nums
|
|
}
|
|
|
|
/** Returns a random shuffling of the array. */
|
|
func (this *Solution) Shuffle() []int {
|
|
arr := make([]int, len(this.nums))
|
|
copy(arr, this.nums)
|
|
rand.Shuffle(len(arr), func(i, j int) {
|
|
arr[i], arr[j] = arr[j], arr[i]
|
|
})
|
|
return arr
|
|
}
|