func containsNearbyAlmostDuplicate(nums []int, k int, t int) bool { mq := NewMagicQueue(k + 1) for i := range nums { mq.Enqueue(nums[i]) if mq.MinGap() <= t { return true } } return false } type MagicQueue struct { Size int MQ []int } func NewMagicQueue(size int) MagicQueue { return MagicQueue{size, make([]int, 0)} } func (mq MagicQueue) MinGap() int { return 0 } func (mq MagicQueue) Len() int { return len(mq.MQ) } func (mq *MagicQueue) Enqueue(x int) { }