Sha256: be8e2ce8c67a2d8f295c8cd1b4c95bc75fddc0dfa0da9484e37f7e23de3c024f
Contents?: true
Size: 580 Bytes
Versions: 103
Compression:
Stored size: 580 Bytes
Contents
package anagram import ( "sort" "strings" ) const testVersion = 1 func Detect(subject string, candidates []string) []string { subject = strings.ToLower(subject) var matches []string for _, c := range candidates { c = strings.ToLower(c) if isAnagram(subject, c) { matches = append(matches, c) } } return matches } func isAnagram(subject, candidate string) bool { return subject != candidate && alphagram(subject) == alphagram(candidate) } func alphagram(s string) string { chars := strings.Split(s, "") sort.Strings(chars) return strings.Join(chars, "") }
Version data entries
103 entries across 103 versions & 1 rubygems