Первый выпуск с вашим кодом PowerShell находится в цикле foreach. Попробуйте следующее:
ForEach ($database in $databases)
И измените имя переменной $ databases (1-я строка).
Ваш вопрос может быть истолкован двумя способами. Хотели бы вы уменьшить алгоритмическую сложность этой проблемы или хотите, чтобы она работала немного быстрее?
Снижение алгоритмической сложности не сработает. Проблема N-Queen - известная проблема, миллионы разработчиков уже видели это. Чтобы лучше понять значение выражения «алгоритмическая сложность», я предлагаю прочитать дополнительный материал. Предисловие к к этому документу + выполнение первых двух упражнений может стать хорошим началом.
Выполнение приложения немного быстрее, выполнимо. Знание Java больше и реализация небольших хитростей дает вам бесконечный источник способов сократить на несколько процентов время выполнения. Прежде чем вы начнете, вам следует установить надежную тестовую систему (например, JMH ), чтобы отслеживать ваши успехи. Вы можете взглянуть на детали размещения объектов, JIT, встраивание, размер ваших переменных и т. Д. Некоторые могут поначалу немного пугать, но это интересный способ узнать что-то новое.