Я пишу программу, которая берет несколько букв, строит из них слова и возвращает слова, которые имеют смысл, которые можно найти в банке слов (например, в словаре английского языка).
Сначала я начал с двухдля циклов, которые берут букву и добавляют к ней все остальные буквы в порядке возрастания: если я дам (A, D, B, H), результат будет: AD, ADB, ADBH, DA, DAB, DABH и т. д.
var scrambledWords = new List<string>();
for (int i = 0; i < buildingMaterial.Count; i++)
{
firstBuildUp = buildingMaterial[i];
for (int j = 1; j < buildingMaterial.Count; j++)
{
if (buildingMaterial[j] == buildingMaterial[i])
continue;
firstBuildUp += buildingMaterial[j];
scrambledWords.Add(firstBuildUp);
}
}
Теперь я пытаюсь выяснить, как лучше всего получить все остальные комбинации этих букв.
- Имеет ли это больше для циклов, но с другими условиями в скобках условий?
- Создает ли новый список для каждой буквы и манипулирует каждым списком по отдельности, а затем объединяет их вместе?
- Это с помощью Linq?
Я пытаюсь использовать больше для циклов с различными условиями, но задаюсь вопросом, является ли это лучшим способом достижения моей цели.