Guest User

Untitled

a guest
Mar 19th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. public static IEnumerable<string> Combinations(string s, Dictionary<char, char> replacements)
  2. {
  3. return Combinations(s, replacements, 0, string.Empty);
  4. }
  5.  
  6. private static IEnumerable<string> Combinations(string original, Dictionary<char, char> replacements, int index, string current)
  7. {
  8. if (index == original.Length) yield return current;
  9. else
  10. {
  11. foreach (var item in Combinations(original, replacements, index + 1, current + original[index]))
  12. yield return item;
  13.  
  14. if (replacements.ContainsKey(original[index]))
  15. foreach (var item in Combinations(original, replacements, index + 1, current + replacements[original[index]]))
  16. yield return item;
  17. }
  18. }
  19.  
  20. Dictionary<char, char> dict = new Dictionary<char,char>();
  21. dict['1'] = 'I';
  22. dict['3'] = 'B';
  23. dict['A'] = 'H';
  24. dict['O'] = '0';
  25. dict['0'] = 'O';
  26.  
  27. var combs = Combinations("ABC123", dict);
Add Comment
Please, Sign In to add comment