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 }