Anagram definition according with Wikipedia:
An anagram is word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once. Any word or phrase that exactly reproduces the letters in another order is an anagram.
- Elvis
levis,veils,slive,lives,evils
- dictionary
indicatory
- Clint Eastwood
old west action
Given a single word generate all relevant permutations words and then verify their existance in word list.
First phase will only support finding anagrams that match the exact lenght of the original - examples 1 and 2.
Second phase will eventualy support phrase anagrams - example 3.
- Support for english but it should be extensible to support other languages.
- Support word lists that are managed in different storage kinds: files, databases, web api.
- C#
- .Net Core
- Cloud friendly
- English word list from https://github.com/dwyl/english-words