Solution Review: Implement Miner Interface
This lesson discusses the solution to the challenge given in the previous lesson.
package min type Miner interface { Len() int ElemIx(ix int) interface{} Less(i, j int) bool } func Min(data Miner) interface{} { min := data.ElemIx(0) min_idx := 0 for i:=1; i < data.Len(); i++ { if data.Less(i, min_idx) { min = data.ElemIx(i) min_idx = i } } return min } type IntArray []int func (p IntArray) Len() int { return len(p) } func (p IntArray) ElemIx(ix int) interface{} { return p[ix] } func (p IntArray) Less(i, j int) bool { return p[i] < p[j] } type StringArray []string func (p StringArray) Len() int { return len(p) } func (p StringArray) ElemIx(ix int) interface{} { return p[ix] } func (p StringArray) Less(i, j int) bool { return p[i] < p[j] }
Get hands-on with 1400+ tech skills courses.