Word X is a jumble of word Y if the letters in X can be rearranged to give Y. For example: backwards drawbacks.

Given a dictionary as input, find the largest group of words all of which are jumbles of eachother.


  1. Understand the problem
  2. Understand the question
  3. Solution involves a program
    1. Write an algorithm.
    2. Convince yourself that the algorithm is reasonable
    3. Convert this to code
    4. Learn about the language/subroutines along the way
    5. Go from firm ground to firm ground (ie if not familiar with syntax, then compile often). Write small pieces and check that they work.
    6. Make sure that your code corresponds to your algorithm
    7. Do I really understand the problem? If so the solution is simple, clear and obvious.
    8. If the solution seems more complex than my understanding then simplify it.