Viewing file: comp249/assignment4/LetterCombination.java | Back to directory listing
Author: Loren Segal | Last modified: February 20 2006 07:00 pm | Download

import java.util.TreeSet;
 
public class LetterCombination
{
	TreeSet<String> finalList = new TreeSet<String>();
	
	public LetterCombination(int totalLetters)
	{
		finalList = generateCombinations(totalLetters, totalLetters);
	}
	
	public TreeSet<String> generateCombinations(int totalLetters, int numLetters)
	{
		TreeSet<String> list = new TreeSet<String>();
		list.addAll(generateCombinations(totalLetters, numLetters, 0));
		if (numLetters - 1 > 0)
		{
			list.addAll(generateCombinations(totalLetters, numLetters - 1));			
		}
		return list;
	}
	
	public TreeSet<String> generateCombinations(int totalLetters, int numLetters, int letter)
	{
		TreeSet<String> list = new TreeSet<String>();
		String word = new String();
		for (int i = letter; i < letter + numLetters; i++)
		{
			word = word + (char)('A'+i);
		}
		list.add(word);
		if (letter + numLetters < totalLetters) 
		{
			list.addAll(generateCombinations(totalLetters, numLetters, letter + 1));
		}
		return list;
	}
	
	public boolean contains(String word)
	{
		return finalList.contains(word);
	}
}