第一题 打乱数组

题目信息

解题思路

代码

package mainimport "math/rand"//leetcode submit region begin(Prohibit modification and deletion)type Solution struct {    nums,original []int}func Constructor(nums []int) Solution {    return Solution{nums,append([]int(nil),nums...)}}func (this *Solution) Reset() []int {    copy(this.nums,this.original)    return this.nums}func (this *Solution) Shuffle() []int {    n:=len(this.nums)    for i:=range this.nums{        j:=i+rand.Intn(n-i)        this.nums[i], this.nums[j] = this.nums[j], this.nums[i]    }    return this.nums}/** * Your Solution object will be instantiated and called as such: * obj := Constructor(nums); * param_1 := obj.Reset(); * param_2 := obj.Shuffle(); *///leetcode submit region end(Prohibit modification and deletion)

第二题

题目信息

解题思路

代码

type MinStack struct {    stack []int    minStack []int}func Constructor() MinStack {    return MinStack{        []int{},        []int{math.MaxInt64},    }}func (this *MinStack) Push(x int)  {    this.stack = append(this.stack, x)    top := this.minStack[len(this.minStack)-1]    this.minStack = append(this.minStack, min(x, top))}func (this *MinStack) Pop()  {    this.stack = this.stack[:len(this.stack)-1]    this.minStack = this.minStack[:len(this.minStack)-1]}func (this *MinStack) Top() int {    return this.stack[len(this.stack)-1]}func (this *MinStack) GetMin() int {    return this.minStack[len(this.minStack)-1]}func min(x, y int) int {    if x < y {        return x    }    return y}