Sha256: 5336837f6c41a7d345106b588d53ed623e0bb20e5e0d6bd25ac161da868d8c3b
Contents?: true
Size: 557 Bytes
Versions: 87
Compression:
Stored size: 557 Bytes
Contents
package anagram import ( "sort" "strings" ) 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
87 entries across 87 versions & 1 rubygems